前言:(PS: 前言是后来修改本文時加的)对于这篇文章有博友提出了一些疑问和见解, 有了博友的关注也促使我想把这套东西做的更实用、更安全。后来又经过思考 对脚本中一些条件和行为做了些改变。经过几次修改现在终于敢说让小伙伴本使用这套东西了。
以双主结构配合keepalived解决MySQL主从结构中主库嘚单点故障;同时通过具体的查询语句提供更细粒度、更为真实的关于主库可用性的判断
###判断从master接收到的binlog是否全部在本地执行(这样仍无法完全确定从库已追上主库,因为无法完全保证io_thread没有延时(由网络传输问题导致的从库落后的概率很小)
DB1 mysql服务正常查询失败:
DB2 一次切换过程:
DB2 执行脚本手动切回DB1:
总结:此方相比MHA或者MMM之类技术,特点在于简单降低实施和维护复杂度;同时也安全的解决了主从中master节点的单点问題;在此基础上,亦可以再增加从库实现读写分离等架构;不足之处是双主仍是单活DB2只是作为热备。
本文出自 “” 博客请务必保留此絀处