MyCat读写分离是在建立在MySQL主从复制(双主双从)基础上的,点击查看MySQL主从复制(双主双从)
- 配置读写分离
-
登录MyCat,创建数据库,命令:
create database mydb01;
-
编辑配置文件,确定 物理库 是否配置正确,命令:
vim conf/schemas/mydb01.schema.json
-
添加代码,逗号分隔
"targetName":"dataSource",
-
增加数据源,执行注释
/*+ mycat:createDataSource{ "name":"rwSepW1", "url":"jdbc:mysql://192.168.171.101:3306/mycat_01?useSSL=false&characterEncodin g=UTF-8&useJDBCCompliantTimezoneShift=true", "user":"root", "password":"123456" } */; /*+ mycat:createDataSource{ "name":"rwSepR1","url":"jdbc:mysql://192.168.171.102:3306/mycat_01?useSSL=false&characterEncodin g=UTF-8&useJDBCCompliantTimezoneShift=true", "user":"root", "password":"123456" } */; /*+ mycat:createDataSource{ "name":"rwSepW2", "url":"jdbc:mysql://192.168.171.103:3306/mycat_01?useSSL=false&characterEncodin g=UTF-8&useJDBCCompliantTimezoneShift=true", "user":"root", "password":"123456" } */; /*+ mycat:createDataSource{ "name":"rwSepR2","url":"jdbc:mysql://192.168.171.104:3306/mycat_01?useSSL=false&characterEncodin g=UTF-8&useJDBCCompliantTimezoneShift=true", "user":"root", "password":"123456" } */;
-
查看配置源信息
/*+ mycat:showDataSources*/;
-
添加集群信息
/*! mycat:createCluster{"name":"dataSource","masters":["rwSepW1","rwSepW2"],"replicas":["rwSepW1","rwSepR1","rwSepR2"]} */;
-
查看集群信息
/*+ mycat:showClusters{} */;
-
也可以在虚拟机中查看相关配置信息
cd mycat/conf/clusters/ vim dataSource.cluster.json
![在这里插入图片描述](https://img-blog.csdnimg.cn/6293587d33cf4b178089b4e2037c0d3a.png)
-
重启MyCat,测试
cd /mycat/bin ./mycat restart
-
因为binlog的日志格式为STATEMENT,根据特性,使用insert插入 @@hostname 时,主库与从库所插入的内容会不一样,所以在查询时会有不一样的结果。
-
执行sql插入语句,并查询测试
insert into user(name) values(@@hostname); select * from user where id = 7;
-
其他章节 -> 跳转
end...