MySQL高可用方案之MHA

MySQL高可用方案之MHA,第1张

什么是高可用?高可用其实就是可以实现自动故障转移。当主节点挂了之后其他节点可以自动顶上,防止节点出现故障时MySQL不能对外提供服务。

MySQL的高可用解决方案其实有很多种(想了解自行百度),这里只说其中一种:MHA。这也是当前比较主流的方案。

在搭建MHA之前应该先保证已经安装配置好了MySQL的主从/集群。因为既然是高可用架构,那么针对的肯定是多台设备,单机的话谈不上高可用。

MySQL的主从搭建过程这里就不说了,可以看这里: MySQL搭建主从架构

本次搭建环境:centos7.8 + mysql5.7.31

现在的架构是 :

101:主节点

102:从节点1

103:从节点2

手动将101的MySQL主节点关闭,在102的节点上查看VIP,发现配置的VIP:192.168.232.105已经从101节点漂移到102节点了。

然后在103的节点上可以看到主节点确实已经变成了 102

到此,MHA 搭建大功告成啦!

MHA 的切换过程,共包括以下的步骤:

最后说明一点,宕机的节点,重启后由于MySQL机制问题不会自动加入到集群中,需要我们手动加入。

修改mysql的所有节点mysql的主配置文件 ( /etc/my.cnf )

Master 节点

Slave1,Slave2节点

MHA官网:https://code.google.com/archive/p/mysql-master-ha/

GitHub地址:https://github.com/yoshinorim/mha4mysql-manager

文档:https://github.com/yoshinorim/mha4mysql-manager/wiki

当一个 master 崩溃时,MHA 会恢复下面的 rest slave。

MHA 由 MHA Manager 和 MHA Node 组成,如下所示:

下载地址:https://github.com/yoshinorim/mha4mysql-manager/wiki/Downloads

下载地址:https://github.com/yoshinorim/mha4mysql-node/releases/tag/v0.58

/opt/mysql-mha/master_ip_failover ,下面配置文件中会用到

给该脚本添加可执行权限:

candidate_master=1

check_repl_delay=0

第一次配置需要在master节点上手动启动虚拟IP,标签要和master_ip_faioverl配置文件中my $key = '1'一样

先在当前的主库服务器slave1上查看二进制日志和同步点

再在 原master 服务器上执行同步 *** 作

关于基础介绍及原理略过,直接上 *** 作步骤吧。

mysql:5.7

*** 作系统:centos7.4

地址规划:

MHA manage:10.21.20.89

mysql主:10.21.20.71

mysql从1:10.21.20.131

mysql从2:10.21.20.132

vip:10.21.20.77

(3)将mharepo.tar.gz上传四台需要安装的服务器解压。然后新建一个yum文件,指向解压的目录。

(4) 安装MHA,在3台mysql上安装node,在管理节点安装manager。

在主库和从库上观察ip发现,vip已经自动漂移到从库上。至此高可用完成。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8333362.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存