如果要做MySQL的读写分离,先要进行几个库之间进行主从复制,做到数据一致,MySQL的主从复制可以看我上一篇文章
MySQL主从复制:https://blog.youkuaiyun.com/xiaoxiaobai250/article/details/103989555
下来进入mycat读写分离
一:首先去官网下载需要的mycat;
二:配置:因为咱们做的,相当于mycat的hello word 级别的,没有进行任何深入,只需要更改下两个配置文件
首先打开“schema.xml”文件
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
<schema name="mycat_base" checkSQLschema="true" sqlMaxLimit="100" dataNode="db1"></schema>
<schema name="mycat_action" checkSQLschema="false" sqlMaxLimit="100" dataNode="db2"></schema>
<dataNode name="db1" dataHost="base" database="ocp_base"/>
<dataNode name="db2" dataHost="base" database="ocp_action"/>
<dataHost name="base" maxCon="1000" minCon="10" balance="1"
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<!-- can have multi write hosts -->
<writeHost host="10.187.58.71" url="10.187.58.71:3306" user="root" password="root">
<!-- can have multi read hosts -->
<readHost host="192.168.31.129" url="192.168.31.129:3306" user="root" password="root" />
</writeHost>
</dataHost>
</mycat:schema>
配置:server.xml文件
三:安装启动
进入cmd下,进入你mycat文件的bin目录下
3.1:安装
mycat.bat install
3.2:启动:
mycat.bat start
启动成功,可以去自己服务里面看一下
如果启动失败,去看看,日志,具体报什么错,根据报错,具体解决
日志目录:同bin目录同级有一个logs文件夹,可以查看你日志
四:测试
根据刚设置的账号密码,和你的ip,可以使用mysql的可视化工具,进行连接,默认端口8066
下面是我主从复制的两个服务,还有mycat
测试:
1:你可以在mycat下,进行读写操作,看自己的主从库是否数据同步
2:关闭主从复制,在mycat进行读写操作,你会发现,你从mycat写入的数据,在主表可以查看到,从表内无数据,从mycat中查看,也只能查到从表的数据。