MySql系列之读写分离
4.1.2 --
1、swithType='-1' 表示不自动切换
2、switchType='1' 表示自动切换
3、switchType='2' 基于Mysql主从同步的状态决定是否切换,心跳语句为show slave status
Mycat1.4 开始支持MySQL主从复制状态绑定的读写分离机制,让读更加安全可靠,配置如下;
Mycat心跳检查语句配置为 show slave staus;
dataHost上定义两个新属性;switchType='2' 与 slaveThresshold="100"
此时意味着开启mysql主从复制状态绑定的读写分离与切换机制,MyCat心跳机制通过检测 show slave status 中的 “Seconds_Behind_Master”,"Slave_IO_Running","Slave_SQL_Running"
三个字段来确定当前主从同步的状态以及Seconds_Behind_Master主从复制时延;
当Seconds_Behind_Master 大于
4.1.3、配置文件介绍 server.xml;
cd /mysql/app/mycat/conf/
cp server.xml server.xml.source
vi server.xml
只处改下面的信息
<!-- root权限用户itpux,对应的Mycat逻辑库连接到的数据节点对应的主机为 主从复制集群,并通过MyCat实现了读写分离;
itpux:连接到mycat,超级root用户,代表root权限;
<user name="itpux">
<property name="password">itpux123</property>
<property name="schemas">mycatdb1,mycatdb2,mycatdb3</property>
<!-- 表级 DML权限设置 -->
<!--
<privileges check="false">
<schema name="TESTDB" dml="0110">
<table name="tb01" dml="0000"></table>
<table name="tb02" dml="1111"></table>
</schema>
</privileges>
-->
<!--用户user 只读权限>
<user name="itpux1">
<property name="password">itpux123</property>
<property name="schemas">mycatdb1,mycatdb2,mycatdb3</property>
<property name="readOnly">true</property>
</user>
</user>