MHA高可用配置及故障切换

本文详细介绍了MHA(MySQL High Availability)的原理、组成、特点,以及如何在实践中配置MHA实现高可用,包括设置环境、主从同步、安装MHA、配置无密码认证等步骤,确保在故障发生时能快速完成自动故障切换,最大限度地减少数据丢失和保证服务稳定性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、MHA的介绍

1、MHA概述

·一套优秀的MySQL高可用环境下故障切换和主从复制的软件

·MHA的出现就是解决MySQL单点的问题。

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

·MHA能在故障切换的过程中最大程度上保证数据的一致性,以达到真正意义上的高可用

2、MHA的组成

·MHA Manager(管理节点)

·MHA Node(数据节点)

3、MHA特点

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

·使用半同步复制,可以大大降低数据丢失的风险

·目前MHA支持一主多从架构,最少三台服务,即一主两从

4、MHA软件

MHA软件由两部分组成,Manager工具包和Node工具包

Manager工具包主要包括以下几个工具:

masterha_check_ssh

检查MHA的SSH配置状况

mastefha_check_rep1

检查MySQL复制状况

masterha_manger

启动MHA

masterha_check_status

检测当前MHA运行状态

masterha_master_monitor

检测master是否宕机

masterha_master_switch

故障转移(自动或手动)

masterha_conf_host

添加或删除配置的server信息

masterha_stop--conf=app1.cnf

停止MHA

masterha_secondary_check

两个或多个网络线路检查MySQL主服务器的可用

5、MHA怎么同步数据

1.从宕机崩溃的master保存二进制日志事件(binlog events)

2.识别含有最新更新的slave

3.应用差异的中继日志(relay log)到其他的slave

4.应用从master保存的二进制日志事件(binlog events)

5.提升一个slave为新的master

6.使其他的slave连接新的master进行复制

二、实际操作

1、初始化环境

systemctl stop firewalld

systemctl disable firewalld

setenforce 0

2、 修改 Master、Slave1、Slave2 节点的主机名

hostnamectl set-hostname mysql1

hostnamectl set-hostname mysql2

hostnamectl set-hostname mysql3

vim /etc/hosts

192.168.93.100 Mysql1

192.168.93.101 Mysql2

192.168.93.102 Mysql3

3、主从同步

修改 Master、Slave1、Slave2 节点的 Mysql主配置文件/etc/my.cnf

②接着在每个节点都设置个软链接

③登录数据库授权主从用户

grant replication slave on *.* to 'myslave'@'192.168.93.%' identified by 'Ky15@2021';

grant all privileges on *.* to 'mha'@'192.168.93.%' identified by 'Ky15@2021';

grant all privileges on *.* to 'mha'@'Mysql1' identified by 'Ky15@2021';

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值