MySQL(十一)MHA高可用配置及故障切换

本文详细介绍了MySQL MHA(Master High Availability)的配置和故障切换过程,包括MHA的特点、组成和故障切换算法。通过搭建一主两从的MySQL环境,配置MHA软件,设置无密码认证,以及进行故障模拟和修复,展示了MHA在30秒内自动完成故障切换的能力,确保了MySQL服务的高可用性。
摘要由CSDN通过智能技术生成

目录

前言

一、MHA概述

1、MHA特点

2、MHA 的组成

3、故障切换备选主库的算法

二、搭建 MySQL MHA

1、前期环境准备

2、配置 mysql 一主两从

3、安装 MHA 软件

4、在所有服务器上配置无密码认证

5、在 manager 节点上配置 MHA

6、在 Master 节点上手动开启虚拟IP

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

8、在manager节点上测试mysql主从连接情况

 9、在manager节点上启动MHA

10、查看 MHA 当前的master的MySQL节点

11、查看验证

三、测试MHA故障切换

1、故障模拟

 2、故障修复步骤

3、解决中英字不兼容报错的问题

总结


前言

一、MHA概述

MHA(MasterHigh Availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。

MySQL故障切换过程中,MHA能做到0-30秒内自动完成故障切换操作。

MHA 的出现就是解决MySQL 单点的问题。单点故障是指在一个系统中提供相同功能的组件只有一

个,如果这个组件失效了,就会影响整个系统功能的正常使用,组成应用系统的各个组件都有可能

成为单点。

MHA(Master HA)是一款开源的 MySQL 的高可用程序,它为 MySQL 主从复制架构提供了

automating master failover 功能。MHA 在监控到 master 节点故障时,会提升其中拥有最新数据的

slave 节点成为新的master 节点,在此期间,MHA 会通过于其它从节点获取额外信息来避免一致

性方面的问题。MHA 还提供了 master 节点的在线切换功能,即按需切换 master/slave 节点。

1、MHA特点

自动故障切换过程中,MHA总会试图从宕机的主服务器上保存二进制日志,最大程度的保证数据

不丢失,但这并不总是可行,例如如果主服务器硬件故障或者无法通过ssh访问,MHA则无法保存

二进制日志,只能进行故障转移而丢失了最新的数据,使用MySQL5.5的半同步复制,可以大大降

低数据去失的风险。MHA可以与半同步复制结合起来。如果只有一个slave已经收到了最新的二进

制日志,MHA可以将最新的二进制日志应用于其他所有的slave服务器上,因此可以保证所有节点

的数据一致性,有时候可故意设置从节点慢于主节点,当发生意外删除数据库倒是数据丢失时可从

从节点二进制日志中恢复。目前MHA支持一主多从架构,最少三台服务,即一主两从。

2、MHA 的组成

●MHA Node(数据节点)

MHA Node 运行在每台 MySQL 服务器上。它的作用是定时汇报给主manager节点mysql服务的状

态;监控本地mysql服务功能。

●MHA Manager(管理节点)

借助于node组件,实现健康检查(ssh,主从复制),故障切换功能。

MHA Manager 可以单独部署在一台独立的机器上,管理多个 master-slave 集群;也可以部署在一

台 slave 节点上。MHA Manager 会定时探测集群中的 master 节点。当 master 出现故障时,它可

以自动将最新数据的 slave 提升为新的 master, 然后将所有其他的 slave 重新指向新的 master。

整个故障转移过程对应用程序完全透明。

3、故障切换备选主库的算法

①、一般判断从库的是从(position/GTID)判断优劣,数据有差异,最接近于master的slave,成

为备选主。

②、数据一致的情况下,按照配置文件顺序,选择备选主库。

③、设定有权重(candidate_master=1),按照权重强制指定备选主。

◆ 默认情况下如果一个slave落后master 100M的relay logs的话,即使有权重,也会失效。

◆ 如果check_repl_delay=0的话,即使落后很多日志,也强制选择其为备选主。

二、搭建 MySQL MHA

1、前期环境准备

①、关闭防火墙及安全子系统

systemctl stop firewalld

systemctl disable firewalld

setenforce 0

②、确认各机台IP

服务器名称

操作系统

IP地址

主要组件

MHA manager

CentOS7.6(64 位)

192.168.110.132

管理节点,安装 manager 组件与node组件

Master

CentOS7.6(64 位)

192.168.110.128

安装mysql5.7、MHA node 组件

Slave1

CentOS7.6(64 位)

192.168.110.129

安装mysql5.7、MHA node 组件

Slave2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值