Mycat读写分离配置
前提: 需要两台mysql服务器
1.主机的配置:
修改配置文件:vim /etc/my.cnf
#主服务器唯一ID
server-id=1
#启用二进制日志
log-bin=mysql-bin
#设置不要复制的数据库(可设置多个)
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
#设置需要复制的数据库
binlog-do-db=需要复制的主数据库名字(如testdb)
#设置logbin格式 binlog_format=STATEMENT
2.从机配置:
修改配置文件:vim /etc/my.cnf
#从服务器唯一ID
server-id=2
#启用中继日志
relay-log=mysql-relay
3.重启两台mysql服务
4.关闭两台服务器的防火墙
5.在主机上建立帐户并授权 slave
#在主机MySQL里执行授权命令
GRANT REPLICATION SLAVE ON . TO ‘slave’@’%’ IDENTIFIED BY ‘123123’;
6.从机关联master
7.停止和重新设置master
stop slave;
reset master;
8.验证读写分离
注意:下面的截图并没有显示读写分离,原因是mycat的balance属性没有设置为3
**
9.修改mycat的schema.xml文件修改的balance属性为3
负载均衡类型,目前的取值有4 种:
(1) balance=“0”, 不开启读写分离机制,所有读操作都发送到当前可用的 writeHost 上。
(2) balance=“1”,全部的 readHost 与 stand by writeHost 参与 select 语句的负载均衡,简单的说,当双主双从模式(M1->S1,M2->S2,并且 M1 与 M2 互为主备),正常情况下,M2,S1,S2 都参与 select 语句的负载均衡。
(3) balance=“2”,所有读操作都随机的在 writeHost、readhost 上分发。
(4) balance=“3”,所有读请求随机的分发到 readhost 执行,writerHost 不负担读压力