MySQL之Mha及故障切换

目录

一、MHA概念

1.什么是MHA

2.MHA的组成

2.1MHA Node(数据节点)

2.2MHA Manager(管理节点)

3.MHA特点

4.MHA工作原理(流程)

二、搭建MySQL MHA

1.准备环境

2.搭建主从复制

2.2配置MySQL一主两从

2.3验证主从复制效果

3.安装MHA软件

3.1所有服务器上都安装MHA依赖环境

3.2安装MHA软件包

3.3在MHA manager节点上安装manager组件

4.在所有服务器上配置无密码验证

4.1在manager节点上配置到所有数据库节点的无密码验证

4.2在Master上配置到数据库节点Slave1和Slave2的无密码验证

4.3在Slave1上配置到数据库节点Master和Slave2的无密码验证

5.在manager节点上配置MHA

5.1在manager节点上复制相关脚本到/usr/local/bin目录

5.2复制自动切换时VIP管理脚本到/usr/local/bin目录

 5.3修改master_ip_failover脚本

5.4创建MHA软件目录并复制配置文件

 6.在Master服务器上手动开启VIP

7.在manager节点上测试ssh无密码认证

8.在manager节点上测试MySQL主从连接情况

 9.在manager节点上启动MHA

 10.查看MHA状态,可以看到当前的Master、

 11.查看MHA日志,可以看到当前master

12.关闭manager服务

三、故障模拟

1.在manager节点上监控观察日志记录

 2.模拟master节点故障关闭服务

 3.查看manager节点动态日志

 4.故障切换备选主库的算法

四、故障修复

1.修复原master节点

2.修复主从

 3.在manager节点上修改配置文件app1.cnf

 4.在manager节点上重启MHA

总结


MySQL服务器中,单台服务器无法承载服务量就配置多台MySQL服务器,多台MySQL服务器或者MySQL服务器无冗余的情况下,配置主从复制。MySQL服务器的读和写的压力不均衡可使用MySQL的读写分离,MySQL的读写分离中Master存在单点故障,就得用到MHA

一、MHA概念

1.什么是MHA

MHA(Master High Availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件
MHA的出现就是解决MySQL单点故障的问题
MySQL故障切换过程中,MHA能做到0-30秒内自动完成故障切换操作
MHA能在故障切换的过程中最大程度上保证数据的一致性,以达到真正意义上的高可用

2.MHA的组成

2.1MHA Node(数据节点)

MHA Node运行在每台MySQL服务器上

2.2MHA Manager(管理节点)

MHA Manager可以单独部署在一台独立的机器上,管理多个Master-Slave集群;也可以部署在一台Slave节点上
MHA Manager会定时探测集群中的master节点。当master出现故障时,它可以自动将最新数据的Slave提升为新的Master,然后将所有其他的Slave重新指向新的Master
整个故障迁移的过程对应用程序完全透明

3.MHA特点

自动故障切换的过程中,MHA试图从宕机的主服务器上保存二进制日志,最大程度的保证数据不丢失
使用半同步复制,可以大大降低数据丢失的风险,如果只有一个Slave已经收到了最新的二进制日志,MHA可以将最新的二进制日志应用于其他所有的Slave服务器上,因此可以保证所有节点的数据一致性
目前MHA支持一主多从架构,最少三台服务,即一主两从
MHA:为了解决的是故障切换、数据尽可能地保存,以及所有节点日志地一致性
 

4.MHA工作原理(流程)

MHA有3个部分

  • 核心是主从
  • Manager 管理节点:管理数据库集群信息,定义、触发故障切换
  • Node 数据节点:主要负责保存日志、比较中继日志,选择主备

MHA会通过Node监控MySQL数据库服务地节点信息,定期检测和返回Master角色地健康状态(健康检查)
MHA通过将VIP定义在Master节点上,并且数据库的访问也从此VIP进入,当Master异常时,MHA会进行”故障切换”,就是VIP漂移+二进制日志保存
漂移到主备节点后,会通过脚本命令来控制MySQL服务器角色的变更,例如将主-备服务器变更为主服务器,将其他的从服务器指向新的主服务器,来继续运行

MHA工作原理总结如下:
1.从宕机崩溃的master保存二进制日志时间(binlog events)
2.识别含有最新的更新的slave日志
3.应用差异的中继日志(relay log)到其他的slave
4.应用从master保存的二进制日志事件
5.提升一个slave为新的master
6.使其他的slave联机新的master进行复制

二、搭建MySQL MHA

MHA高可用是基于主从复制的基础上进行安装部署一台新的MHA Manager服务器,高服务器用来监控Master服务器,当Master服务器出现故障时,它可以自动将最新的数据Slave提升为Master(或者可指定直接新的Master)。然后其它的Slave重新指向新的Master

1.准备环境

服务器 IP
MHA Manager 192.168.226.162
Master 192.168.226.150
Slave1 192.168.226.151
Slave2 192.168.226.152

所有服务器关闭防火墙,关闭核心防护

2.搭建主从复制

192.168.226.150为Master服务器,192.168.226.151为Slave1服务器,192.168.226.152为Slave2服务器

2.1修改Master、Slave1、Slave2节点的MySQL主配置文件/etc/my.cnf
Master主服务器(192.168.226.150)
 

修改配置文件

 

 重启MySQL服务

 Slave节点服务器(192.168.226.151,192.168.226.152)

修改slave配置文件

 

 

 

2.2配置MySQL一主两从

所有数据库节点进行MySQL授权

Master服务器

 Slave服务器

 

 在Master节点上查看二进制文件和位置点

开启Slave从服务器功能

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年10月16日
下一篇 2022年10月16日

相关推荐