MySQL成熟的高可用解决方案比较多,业界广泛运用的包括M-S,MMM,MHA,MySQL Innodb Cluster,MySQL NDB Cluster,MGR,DRDB等,下面对这些方案按照所采用的核心技术进行分类,并对各自的优势和不足进行总结。
Category 1: MySQL原生异步,半同步或同步复制
这类方案主要是M-S(Master-Slave)以及其变体(如M-S-S,M-M )以及 MGR ,它基于MySQL binlog的产生,传输,同步和解析。主节点产生binlog日志,其他节点获取和重放产生的binlog,从而实现节点间的数据一致。
这种方案的优缺点如下:
优点:(1)数据多副本存储,能实现高可用
(2)可以进行读写分离
(3)MGR几乎可以做到无延迟的同步复制
不足:(1)异步或半同步复制存在延迟,主备库可能不一致
(2)MGR只支持InnoDB存储引擎
(3)自身都没有VIP,需要借助第三方工具实现故障自动切换
Category 2:MySQL原生复制+第三方监控/转移工具
这类方案是业界使用最多的方案,主要包括MHA(Master Hign Avaliability),MMM(MASTER-MASTER Replication Manager For