MySQL主从复制是构建高可用MySQL的基础,复制就是让一台服务器的数据和其它服务器保持同步,一台主库可以同步到多台备库上面,备库也可以作为另一台服务器的主库。主库和备库之间可以有多种不同的组合方式。
主从复制
半同步复制
如何解决MySQL主库宕机导致的数据丢失情况?
使用半同步复制。在主库commit之前,需要先将binlog同步到从库,主库可以设置同步binlog的过期时间,在binlog复制到从库之后,从库后续会自行重放中继日志。不过这样也增加了客户端的延迟。另外这个需要安装下MySQL的插件。
复制方式
基于GTID和日志
基于日志复制 | 基于GTID |
---|---|
兼容性好 | 与老版本不兼容 |
支持MMM与MHA架构 | 仅支持MHA架构 |
准备切换后很难找到新的同步点 | 基于事务ID复制,很方便的找到未完成的事务ID |
可以方便的跳过复制操作 | 只能通过置入空事务的方式跳过操作,会更复杂一点 |
建议优先使用GTID方式,可以更安全的进行故障转移。
主从复制延迟
产生延迟原因?
处理办法:
转载自: