(MHA)MySQL高可用集群配置实例,综合理解解析过程(干货MHA的下载连接)

本文介绍了MHA(MySQL High Availability)的原理和配置过程,通过一个详细的实验,展示了如何设置一主两从的MySQL集群,并配置MHA以实现高可用。在模拟master故障后,MHA能在短时间内自动完成切换,确保业务不受影响。此外,还详细阐述了MHA的安装、无密码认证配置、主从同步检查以及故障修复步骤。
摘要由CSDN通过智能技术生成

一、MHA的介绍

  • MHA是一款用于解决数据库MySQL高可用性环境下故障切换和主从提升的高可用软件。能够很好的解决单master主数据库单点故障点的问题。

  • 在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中, MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用。

  • MHA能够在0.5-2秒内实现切换,0.5-2秒的写阻塞通常是可接受的,所以你甚至能在非维护期间就在线切换master。诸如升级到高版本,升级到更快的服务器之类的工作,将会变得更容易。

  • MHA由Manager节点和Node节点组成。

二、实验介绍

1、实验环境
服务器 操作系统 IP地址
MHA manger节点 Linux 7.6 (64位) 192.168.10.161/24
master 主节点 Linux 7.6 (64位) 192.168.10.100/24
mater slave主备节点 Linux 7.6 (64位) 192.168.10.156/24
slave 从节点 Linux 7.6 (64位) 192.168.10.160/24
  • 实验规划图
    在这里插入图片描述
2、实验目的

本案例要求通过 MHA 监控 MySQL 数据库在master故障时进行自动切换到master salve,不影响业务。

3、实验配置过程
  • 配置 MySQL 一主两从
  • 安装 MHA 软件
  • 配置无密码认证
  • 配置 MySQL MHA 高可用
  • 模拟 master 故障切换

注: 所有服务器关闭selinux和防火墙。

三、实例配置MySQL(MHA)高可用过程

1、配置MySQL一主两从

  • 为三台数据库服务器安装MySQL7.6
  • 修改数据库的配置文件/etc/my.cnf,开启日志服务
1)修改master配置文件
[root@Mysql1 ~]# vim /etc/my.cnf
[mysqld]
server-id = 1                  //数据库的身份id,不同的数据库身份id不能一样
log_bin = master-bin          //开启数据库二进制文件
log-slave-updates = true     //允许别的从服务器和自己同步
2)修该slave配置文件
除了两台slave数据库的server-id直段不一样,其他修改的添加的字段一样
[root@Mysql2 ~]# vim /etc/my.cnf
server-id = 2    
log_bin = master-bin
relay-log = relay-log-bin     //开启中继日志,同来同步数据库的二级制文件
relay-log-index = slave-relay-bin.index   //开启中继日志索引
3)重启所有数据库
  [root@Mysql1 ~]# systemctl  restart  mysqld
4)为数据库服务器建立软连接
使liunx系统识别mysql的操作命令。
[root@Mysql1 ~]# ln -s /usr/local/mysql/bin/mysql /usr/sbin/
[root@Mysql1 ~]# ln -s /usr/local/mysql/bin/mysqlbinlog /usr/sbin/
5)为数据库服务器开启主从复制和MHA服务账户授权
mysql> grant replication slave on *.* to 'myslave'@'192.168.10.%' identified by '123';
//为主从复制账户授权
mysql> grant all privileges on *.* to 'mha'@'192.168.10.%' identified by 'manager';
//为MHA账户授权
mysql> flush privileges;    //刷新授权
6)查看master数据库主从复制的,二进制文件名和同步复制的pos点
mysql> show master status;
+-------------------+----------+
| File              | Position |//从服务器要同步的二进制文件名和同步的pos点
+-------------------+----------+
| master-bin.000001 |    155|     
+-------------------+----------+
7)在slave数据库中同步master数据库
mysql> change master to master_host='192.168.10.100',master_user='myslave',
 > master_password='123',master_log_file='master-bin.000001',
 > master_log_pos=155;    //同步主数据库
mysql> start slave;       //开启主从复制
mysql> set global read_only=1;   //设置从数据库为只读

8)查看slave数据库的 IO 和 SQL 线程是否都是 yes 代表同步是否正常。no 表示不

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值