11.4 MHA实现自动的主从切换实战



MHA的安装、配置、使用。

一、MHA工具

1.1 架构图示

  • 有两台MySQL的服务器,分别装上主库、从库
  • 两个库都装上MHA Node的脚本,预制到服务器里
  • 启动一个MHA manager,放于一个单独的服务器(虚拟机或k8s Node上)

Kubernetes(常简称为K8s)是用于自动部署、扩展和管理“容器化(containerized)应用程序”的开源系统。

它旨在提供“跨主机集群的自动部署、扩展以及运行应用程序容器的平台”。它支持一系列容器工具,包括Docker等。

1.2 安装MHA工具

官网:

1.

左边:主库 右边:从库

且,目前从库一直在复制和同步主库。

2.目的

下载MySQL的高可用的工具MHA:

让主库、从库,都装上mha4mysql-node;

让从库,装上mha4mysql-manager;(实际业务,应该是单独放一个虚拟机)

3.主库、从库,都做的准备

先装一些依赖的包:

这是第二章安装MySQL环境时,整个压缩包里的一个文件,当时没有安装,因为当时用不到。现在要用到了:

perl支持库;

epel :CentOS的一些库;

把yum的缓存清一下;

把yum的源,重新拉一遍;

注意:

  • 把上面的^C都去掉
  • 以上,都是主库、从库,都做

4.

从库,装上mha4mysql-manager;

5.

让主库、从库,都装上mha4mysql-node;

用rpm装,因为rpm是不自动安装依赖的

以上,软件都已经已安装好。

yum 是rpm的增强版

1.3 让所有的虚拟机之间,免密登录:SSH免密

1.

让所有的虚拟机之间,免密登录。即:

  • 主-从之间免密
  • 主登录自己,免密
  • 备登录自己,免密

因为MHA的重要功能:可以登录到主库上,把没有来得及传送出去的binlog,抢救出来。这就需要SSH免密。

免密的脚本,已预制到文档中。密钥生成后,发送给对方。

2.

SSH配置:

1.4 配置MHA

让MHA知道,你监控的是哪台主、哪台从。

配置文件加上的内容:

1.5 自检

检查MHA的免密登录能否正常工作:

检查MHA的主备复制是否正常:

3.检查MHA现在的启动状态

没启动

启动:
加个&,就能一直在后台跑:

打开之前配置过的log文件:

让148主库停止,容灾切换到了146:

为空,说明已经不复制任何主库了:

二、让MHA和dble联动

2.1 过程图示

MHA Manager在监控两个集群;

如果主库宕机,会去提升另外一个从库作为主库,即切换;

同时,通知dble,你以前连接的主库已经宕机了,你去连接别的库吧

2.2 联动脚本

1.

dble写的脚本:

登录9066管理用户,告诉你之前的主库挂了,快去切换新的实例

2.

将上述dble写的脚本,配置到MHA里:
就会自动调用,自动通知dble。

声明:Jerry's Blog|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - 11.4 MHA实现自动的主从切换实战


Follow excellence, and success will chase you.