环境布置:
主机1:
master:192.168.4.1 VIP:192.168.4.100
主机2:
备用master1:192.168.4.2
主机3:
备用master2:192.168.4.3
主机4:
slave1:192.168.4.4 //用于从库
主机5:
slave2:192.168.4.5
主机6:
manager:192.168.4.6 //用于管理MHA
步骤1:配置半同步模式
主机1-主机5共同操作:
mysql>show variables like “have_dynamic_loading”; // 查看是否允许加载动态模块
主机1-3共同操作:
vim /etc/my.cnf
添加以下内容:
plugin-load=“rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so”;
rpl-semi-sync-master-enabled=1
rpl-semi-sync-slave-enabled=1
relay-log-purge=off //关闭自动删除中继日志
relay-log=/data/mysql/relay-log/relay-log //中继日志放置位置
server_id=11 //每台主机数值+1
log-bin=/data/mysql/log/master11 //开启binlog日志
binlog-format=”mixed”
主机4-5共同操作:
只作为从库只需要含有半同步从库插件即可
作为从库通过读取主库binlog日志到中继日志再进行数据导入,是不记录在本身的binlog日志里,所以需要开启中继日志记录binlog日志功能
plugin-load=“rpl_semi_sync_slave=semisync_slave.so”;
rpl-semi-sync-slave-enabled=1
relay-log-purge=off //关闭自动删除中继日志
relay-log=/data/mysql/relay-log/relay-log //中继日志放置位置
log_slave_updates //开启记录中继日志到binlog日志功能
server_id=14 //每台主机数值+1
保存并重启服务
步骤2:查看是否启动的模块
主机1-5共同操作:
mysql>show variables like “rql_semi_sync_%_enabled”;
显示:
| Variable_name | Value |
±----------------