MySQL半同步复制实践


半同步复制
MySQL的主从复制在5.5版本以前只支持异步复制,也就是说主库在执行一些事务后,是不管从库备库的进度的,这种方式最大的好处是速度快、效率高;缺点就是在主库宕机后,不能确保从库和主库的数据一致性。

半同步复制的好处就是,主库在每执行一次事务后,会等待备库接受日志后才返回给客户端,如果做的是小事务,两台主机的延迟较小,则可以实现在损失很小的性能的情况下保证零数据丢失。

原理

1)主库每执行一次事务都会先让备库读取日志,确保至少有一台备库上面的数据和自己完整
2)如果在一个timeout超时时间内主库仍旧没有收到备库的应答,则自动q切换回异步模式,保证业务运行
3)半同步复制只能保证从库读取了日志,并不能保证数据写入到了从库数据库中,还得看从库sql进程执行情况
4)如果有从库进度追赶上了主库,模式继续切换回半同步状态

环境搭建实践
MySQL半同步复制插件由谷歌提供,5.5版本以后自带可以直接使用
!!注意,两台主机实现半同步复制之前的必须已经实现主从复制
请参考博文:

相关内容