Bootstrap

19、MySQL高可用和读写分离架构

1、MHA

MHA主要能够做以下几件事:

  • 自动的在MASTER宕机后选举新的SLAVE作为MASTER,保证服务不被中断
  • 自动的在MASTER宕机后将所有未被选举为新MASTER的SLAVE重新指向新的MASTER并启动复制
  • 自动的在MASTER宕机后向数据库管理人员发送报警邮件
  • 自动的进行VIP漂移服务,确保服务运行不会暂停
  • MHA搭建条件最少是1主2从,且必须是独立的服务器,不能单机多实例进行搭建。

1.2 架构和相关组件

MHA架构图如下所示,理想服务器数量是5台,也可以使用3台进行搭建,这篇文章会使用3台服务器进行搭建(不配置binlog 服务器):
在这里插入图片描述

  • 相关说明
    MHA实际上就是一个软件集合,它的软件分为2部分:Manager软件和 Node软件

  • 组件包含的脚本
    上图中每一个色块都是一个Node,包括Manager本身也是一个Node。
    不同的软件由不同的工具包组成,如下所示:

Master
masterha_manager            - 用于启动MHA
masterha_check_ssh          - 用于检查MHA的SSH配置情况
masterha_check_repl         - 用于检查MHA的主从复制情况
masterha_master_moni
;