版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a281246240/article/details/83545719
环境准备
准备三台linux服务器,mycat、mycatmaster、mycatslave,分别安装好mycat服务、mysql服务、mysql服务
mycatmaster和mycatslave基于binlog实现主从复制,见主从复制搭建
mycat配置
mycat权威指南中配置读写分离是这样的:
以上两种取模第一种当写挂了读不可用,第二种可以继续使用,事务内部的一切操作都会走写节点,所以读 操作不要加事务。
下面我就按第一种来配置,修改mycat配置文件schema.xml文件,修改写节点和读节点信息:
cd /usr/local/mycat/conf
vi schema.xml
然后启动mycat
启动之后我们用mysql客户端或者mysql服务连接mycat:
注意要在两个读写分离的库中先创建好schema.xml配置的数据库,这里为db1、db2、db3
连接好之后可以看到mycat中的数据库和表,都是mycat配置中虚拟的:
然后再mycat中创建一张表:
插入数据
即可完成mycat的主从复制配置。
画个图总结一下:
没有使用mycat实现读写分离时,需要程序来区分好读写库,在程序中定义读的datasource和写的datasource;
使用mycat后,web程序只需要连接mycat,不需要区分读写操作,mycat会自动定位到读库和写库