跳转至

24. 主从复制-半同步复制

1. 半同步复制功能

#尽可能保证主从数据一致性问题。
#牺牲主库一定的业务性能,commit

2. 实现过程

#保证IO线程将日志从TCPIP缓存写入到relaylog才会返回ack给主库
#会阻塞主库的commit操作,这里会有个超时时间,10秒钟
#如果从库还没返回ack,强制切换为异步复制过程

3. 配置

#1.加载插件
#master
install plugin rpl_semi_sync_master soname 'semisync_master.so';

#slave
install plugin rpl_semi_sync_slave soname 'semisync_slave.so';
#2.启动半同步
#master
set global rpl_semi_sync_master_enabled=1;

#slave
set global rpl_semi_sync_slave_enabled=1;
#3.从库重启IO线程
stop slave io_thread;
start slave io_thread;
#4.查看半同步复制是否运行
#master
show status like 'rpl_semi_sync_master_status';

#slave
show status like 'rpl_semi_sync_slave_status';
#5.测试验证
#主库提交一个事务,查看commit的延时时间(待测试)

最后更新: 2022-02-20 08:44:07