MyCAT读写分离
mycat读写分离依赖于MySQL主从复制,所以需要先配置MySQL的主从复制,然后在配置mycat读写分离。
1.MySQL配置主从复制
配置MySQL主从复制链接:link
2.mycat配置读写分离
配置读写分离schema.xml文件如下
<!-- 配置逻辑库USERDB,逻辑库数据节点配置到dn1上 -->
<schema name="USERDB" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1"></schema>
<!-- 配置数据节点,配置节点主机node1,数据库实例库user_db -->
<dataNode name="dn1" dataHost="node1" database="user_db" />
<!-- 配置节点主机 -->
<dataHost name="node1" maxCon="1000" minCon="10" balance="1" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<!-- 各个数据库实例,心跳检测 -->
<heartbeat>select user()</heartbeat>
<!-- 配置写库1 -->
<writeHost host="hostM1" url="192.168.5.180:3306" user="root"password="123456">
<!-- 配置读库1 -->
<readHost host="hostS1" url="192.168.5.180:3307" user="root" password="123456" />
<!-- 配置读库2 -->
<readHost host="hostS2" url="192.168.5.180:3308" user="root" password="123456" />
</writeHost>
<!-- 配置写库2,当配置双主时多从时使用 -->
<!-- <writeHost host="hostM2" url="localhost:3316" user="root" password="123456"/> -->
</dataHost>