Mycat在MySQL主從模式(1主1從)下讀寫分離和及自動切換模式的驗證

來源:互聯網
上載者:User

標籤:star   bug   lan   資料   實驗   技術分享   my.cnf   flush   replicat   

實驗環境

兩台Centos7  MySQL5.7.12 IP地址為:192.168.10.36  192.168.10.37

一台Centos7 Mycat IP地址為:192.168.10.31

一:安裝mysql,如所示(這裡採用yum安裝):

二:配置MYSQL,以及建立MYSQL主從

1:初始化密碼,由於我沒在/root目錄下找到第一次啟動的隨機密碼,所以我只能用如下操作

vi /etc/my.cnf

mysqd 欄位添加 #skip-grant-tables

然後重啟mysql   systemctl restart mysqld    這個時候沒有密碼也能進去;執行下面這一條語句:

update mysql.user set authentication_string=password(123456) where user=‘root‘ and Host = ‘localhost‘;

此時重啟mysql後,注釋掉剛剛添加的那個欄位,systemctl restart mysqld  會告訴你的密碼不符合複雜程度要求,需要再次更改;

SET PASSWORD FOR ‘root‘@‘localhost‘ = PASSWORD(‘[email protected]‘);

FLUSH PRIVILEGES;

之後用新的密碼登入即可!

2:配置MYSQL主從,mysql設定檔內容修改如,主從的server_id一個為36,另外一個為37,此處必須保持不一致:

3:執行如下命令,使其建立主從關係,192.168.10.37為192.168.10.36的Slave

在192.168.10.36上執行:

grant replication slave on *.* to ‘sync‘@‘192.168.10.37‘ identified by ‘sync‘;

在192.168.10.37上執行:

change master to master_host=‘192.168.10.36‘, master_user=‘repluser‘,master_password=‘replpass‘, master_auto_position=1;(此處使用的是GTID多線程複製)

start slave;

此時使用show slave status\G;可驗證主從關係是否建立完成,如:

三:配置Mycat

1:邏輯庫為myyangtest,邏輯表為:

2:查看schema.xml設定檔如所示:

此處為1個dataHost;3個dataNode節點;

3:查看rule.xml設定檔如所示:

4:查看server.xml設定檔內容,主要內容如所示:

5:啟動Mycat,並且開啟Mycat的日誌的Debug模式,

./bin/mycat start

6:建立myyang表,並開始插入資料;

7:首先驗證Mycat讀寫分離,由此先將balance 設定為3,writetype設定為0,先注釋掉第二個writeHost。

 

先執行如下查詢語句,擷取此條結果後,

然後開啟mycat logs目錄下的mycat.log檔案,可以看到如下內容;

由可以驗證,查詢的路由是發送到192.168.10.37(從伺服器)完成的。

然後執行如下插入語句;

然後再次開啟mycat logs目錄下的mycat.log檔案,可以看到如下內容;

由可以看到插入語句的路由是發送到192.168.10.36(主伺服器)完成的!

至此,可以驗證Mycat的讀寫分離已經實現!

8:驗證Mycat自動切換功能

修改schema.xml內容如所示:

修改完成後重啟mycat!

此時執行插入語句如:

再次開啟記錄檔,可以看到(如)插入語句還是在192.168.10.36(主伺服器)上執行;

此時我們將192.168.10.36的mysql服務給關閉!,檔案會列印報錯資訊,如所示;

此時我們再此執行一條插入語句:

再次開啟記錄檔,如所示:

由此可以看出,此時插入語句是路由到192.168.10.37(從伺服器)完成的!另外我們也可以登陸到192.168.10.37的mysql的db_test3庫中進行驗證(如):

由此Mycat的自動切換功能驗證成功!

Mycat在MySQL主從模式(1主1從)下讀寫分離和及自動切換模式的驗證

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.