Mycat主從複製

Mycat是Mysql的中間件,因而其主從複製功能是相對於Mysql的主從複製。所以在使用其主從複製的時候mysql需要進行主從複製配置。

步驟:

1.修改schema.xml

<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
 
<schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1">
        </schema>
        <dataNode name="dn1" dataHost="host1" database="自定義數據庫名稱" />
        <dataHost name="host1" maxCon="1000" minCon="10" balance="2"
                          writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
                <heartbeat>select user()</heartbeat>
                <!--寫庫(主庫)的配置 -->
                <writeHost host="hostm1" url="94.191.86.252:3306" user="root"
                                   password="123123">
          <!--讀庫(從庫)的配置 -->
                       <readHost host="hosts1" url="94.191.86.25:3306" user="root"
                                   password="123123">
                       </readHost>
                </writeHost>
        </dataHost>
</mycat:schema>

此處需要注意:balance配置
 

負載均衡類型,目前的取值有 3 種:
1. balance="0", 不開啓讀寫分離機制,所有讀操作都發送到當前可用的 writeHost 上。
2. balance="1",全部的 readHost 與 stand by writeHost 參與 select 語句的負載均衡,簡單的說,當雙
主雙從模式(M1->S1,M2->S2,並且 M1 與 M2 互爲主備),正常情況下,M2,S1,S2 都參與 select 語句的負載均衡。
3. balance="2",所有讀操作都隨機的在 writeHost、readhost 上分發。
4. balance="3",所有讀請求隨機的分發到 wiriterHost 對應的 readhost 執行,writerHost 不負擔讀壓

2讀寫分離測試
 

create table t_replica 
(    id  int auto_increment , 
     name varchar(200) 
);
insert into t_replica(name) values (@@hostname)

@@hostname:當前主機的名稱

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章