一、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';
<