實驗環境
mycat1.6
mysql5.6
第一步:建立資料庫和表
mysql5.6主1号和從1号
mysql5.6主2号和從2号
配置主從1号和2号參考連結:
https://blog.csdn.net/u010772230/article/details/103604978
在主1号中建立資料庫db4并建立表t_user
在主2号中建立資料庫db5建立表t_user
CREATE TABLE `t_user` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`name` varchar(256) NULL,
PRIMARY KEY (`id`)
);
第二步:配置mycat的server.xml
配置mycat的邏輯資料庫名和賬号密碼

第三步:配置mycat的schema.xml
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
<schema name="MyCatDB" checkSQLschema="false" sqlMaxLimit="100">
<table name="t_user" primaryKey="ID" dataNode="dn4,dn5" autoIncrement="false" rule="mod-long" />
</schema>
<dataNode name="dn4" dataHost="localhost1" database="db4" />
<dataNode name="dn5" dataHost="localhost2" database="db5" />
<dataHost name="localhost1" maxCon="1000" minCon="10" balance="3"
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<writeHost host="hostM1" url="db4主資料庫的位址" user="root"
password="root">
<readHost host="hostS2" url="db4從資料庫的位址"" user="root" password="root" />
</writeHost>
</dataHost>
<dataHost name="localhost2" maxCon="1000" minCon="10" balance="3"
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<writeHost host="hostM1" url="db5主資料庫的位址" user="root"
password="root">
<readHost host="hostS2" url="db5從資料庫的位址" user="root" password="root" />
</writeHost>
</dataHost>
</mycat:schema>
第四步:啟動mycat驗證
啟動mycat
用navicate連接配接mycat
然後往mycat的邏輯庫MyCatDB的t_user表插入兩條記錄
INSERT INTO `t_user` (`id`, `name`) VALUES (1, "ddd");
INSERT INTO `t_user` (`id`, `name`) VALUES (2, "ddd");
在單獨,在db4的從庫往t_user表插入一條資料
INSERT INTO `t_user` (`id`, `name`) VALUES (3, "db4從庫資料");
在單獨,在db5的從庫往t_user表插入一條資料
INSERT INTO `t_user` (`id`, `name`) VALUES (4, "db5從庫資料");
此時,db4主庫一條資料,db4從庫2條資料
db5主庫一條資料,db5從庫2條資料
通過mycat查詢出來的資料有四條資料,驗證完畢。