如何部署MHA高可用MySQL数据库

目录

一、MHA概念

MHA 的组成

MHA 的特点

MHA工作原理

二、部署MySQL数据库MHA高可用

第一步 关闭所有防火墙和安全机制

第二步 修改主数据库配置文件

第三步 修改从数据库的配置文件

第四步 重启服务

第五步 优化所有数据库路径

第六步 授权所有数据库节点

第七步 设置授权连接

第八步 刷新权限表

第九步  查看Master节点

第十步 设置从数据库规则

第十一步 设置从数据库只读模式

第十二步 查看从数据库节点信息

第十三步 安装EPLE源

第十四步 安装MHA依赖环境

第十五步 导入Node组件并安装

第十六步 在MHA Manager节点上安装Manager组件

第十七步 配置所有数据库节点无密码进行认证

第十八步 配置三台数据库无密码认证

第十九步 拷贝执行文件

第二十步 复制脚本文件

第二十一步 修改脚本文件

第二十二步 修改脚本文件内容

第二十三步 创建MHA软件目录并拷贝配置文件

第二十四步 修改配置文件

第二十五步 手动开启虚拟IP

第二十六步  测试SSH无密码认证

第二十七步 测试主从连接情况

第二十八步 在Manager上启动MHA

第二十九步 查看MHA状态

第三十步 查看MHA日志


一、MHA概念

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

MHA 的组成

  • MHA Node(数据节点) MHA Node 运行在每台 MySQL 服务器上。

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

MHA 的特点

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

  • 使用半同步复制,可以大大降低数据丢失的风险,如果只有一个slave已经收到了最新的二进制日志,MHA可以将最新的二进制日志应用于其他所有的slave服务器上,因此可以保证所有节点的数据一致性

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

MHA Manger 管理多组主从复制。

MHA工作原理

MHA工作原理总结如下:

1、从宕机崩溃的master 保存二进制日志事件(binlog events); 2、识别含有最新的更新 slave 日志 3、应用差异的中继日志(relay log)到其他的slave 4、应用从master保存的二进制日志事件 5、提升一个 salve 为新的master 6、使其他的slave连接行的master 进行复制。

二、部署MySQL数据库MHA高可用

第一步 关闭所有防火墙和安全机制

命令:systemctl stop firewalld

systemctl disable firewalld

setenforce 0

第二步 修改主数据库配置文件

命令:vim /etc/my.cnf

第三步 修改从数据库的配置文件

命令:vim /etc/my.cnf

第四步 重启服务

命令:systemctl restart mysqld

第五步 优化所有数据库路径

命令:ln -s /usr/local/mysql/bin/mysql /usr/sbin/

ln -s /usr/local/mysql/bin/mysqlbinlog /usr/sbin/

第六步 授权所有数据库节点

命令:grant replication slave on *.* to 'myslave'@'网段' identified by '密码';

grant all slave on *.* to 'mha'@'网段' identified by 'manager';

第七步 设置授权连接

命令:grant all privileges on *.* to 'mha'@'master' identified by 'manager';

grant all privileges on *.* to 'mha'@'slave1' identified by 'manager';

grant all privileges on *.* to 'mha'@'slave2' identified by 'manager';

第八步 刷新权限表

命令:flush privileges;

第九步  查看Master节点

命令:show master status;

第十步 设置从数据库规则

命令:change master to master_host='主数据库IP地址',master_user='myslave',master_password='123456',master_log_file=

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值