往期历史
1.docker安装MySQL源码编译
2.Centos7 Mysql5.6.40 主从服务搭建
3.Mysql5.6.40 主从复制故障
4.Centos7 Mysql5.6.40 主从结构 过滤复制
半同步复制
-
传统主从,从库宕机可能造成数据不一致-------解决办法:半同步复制
-
核心理念就是,什么时候返回ACK, 如果持续不返回ACK超过10s 主库自动切换回异步返回ACK模式

-
出发点是保证主从数据一致性的问题,安全的考虑
5.5版本 出现的概念,当是不建议使用,性能太差
5.6 以后出现group commit 组提交功能,来提升同步复制的性能
5.7 更加完善了, 在group commit基础上出现了 MGR
5.7的增强半同步复制新特性(强一致性):after commit; after sync;
半同步复制实现
- 加载插件
#主
mysql> INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
#从
mysql> INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';
- 查看是否加载成功
mysql> show plugins;

- 安装错误卸载插件
mysql> UNINSTALL PLUGIN rpl_semi_sync_master;
- 启动插件
主:
SET GLOBAL rpl_semi_sync_master_enabled = 1;
从:
SET GLOBAL rpl_semi_sync_slave_enabled = 1
- 重启从库IO线程
mysql> STOP SLAVE IO_THREAD;
mysql> START SLAVE IO_THREAD;
- 查看半同步复制是否开启成功
主:show status like ‘Rpl_semi_sync_master_status’;
从:show status like ‘Rpl_semi_sync_slave_status’;

本文详细介绍了如何在Centos 7环境下安装并配置MySQL 5.6.40的半同步复制,包括源码编译、主从搭建、故障排查、组提交优化以及实际操作步骤,重点讲解了如何启用和检查半同步复制状态,以及其在保证数据一致性和安全性方面的作用。
2193

被折叠的 条评论
为什么被折叠?



