mysql 半同步

半同步
  • MySQL5.5.X默认:异步Replication
    • 速度快,可以提供最佳的性能
    • 主库或从库发生故障会造成主从数据不一致,甚至在数据恢复时造成数据丢失
  • 半同步Replication
    • 目的:确保主库和至少一台从库之间的数据一致性和冗余
    • 原理:
      • 至少有一台从库在主库进行事务处理前确认更新已经写入其Relay Log
      • 出现超时,主库必须暂时切换到异步复制模式重新复制,直到一台设置为半同步复制模式的从库及时收到信息
配置步骤:
1.配置Master和Slave同步
2.确保主从上have_dynamic_loading均为YES
确保在lib/plugin目录下有如下文件:
semisync_master.so
semisync_slave.so
3.在Master上执行:
>install plugin rpl_semi_sync_master soname ‘semisync_master.so’;
>set global rpl_semi_sync_master_enabled=on;
4.在Slave上执行:
>install plugin rpl_semi_sync_slave soname ‘semisync_slave.so’;
>set global rpl_semi_sync_slave_enabled=on;
5.执行show plugins或select * from mysql.plugin;确认插件已经安装
6.修改my.cnf添加如下:
主库: rpl_semi_sync_master_enabled=1
从库: rpl_semi_sync_slave_enabled=1
原文地址:https://www.cnblogs.com/Knight7971/p/9566151.html