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