记录一次MHA的搭建过程

基础环境:

1、三台安装了CentOS的虚拟机(配置好ip、yum、hosts文件等)
2、三台机器安装MySQL
3、xtrabackup工具

架构图:

在这里插入图片描述

搭建主从关系:

1、修改mysql的配置文件
2、使用xtrabackup工具对主库做全备,并把备份文件使用scp命令传到从库
3、在主库创建复制用户
4、在从库对备份进行恢复
5、从库执行change master命令
6、通过show processlist、show slave status查看主从状态

安装MHA

1、在三台机器都安装node节点
2、查看/usr/bin目录下是否生成相关的脚本(save_binary_logs、purge_relay_logs等)
3、在manager节点安装manager包
4、查看/usr/bin目录下是否生成相关的脚本(masterha_check_repl、masterha_check_ssh等)

配置SSH免密登录:

1、生成rsa密钥:ssh-keygen -t rsa
2、将生成的公钥追加到认证文件中:
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
3、修改ssh文件夹和公钥的权限:
chmod 700 /root/.ssh
chmod 600 /root/.ssh/authorized_keys
4、将公钥传输到其他两台机器上
ssh-copy-id -i /root/.ssh/id_rsa.pub 用户名@主机名

配置mha

1、为manager创建监控用户
grant all on . to ‘mha_monitor’@‘172.16.0.%’ identified by ‘mha_monitor’;
2、创建工作目录:mkdir -p /var/log/masterha/app1
3、配置/etc/masterha/app1.cnf
在这里插入图片描述
4、在主库配置vip
ifconfig eth0:1 172.16.0.180/16
5、拷贝master_ip_failover、master_ip_online_change两个脚本到/usr/bin下
6、修改两个脚本中的vip
7、检测ssh环境
在manager上执行 masterha_check_ssh --conf=/etc/masterha/app1.cnf
在这里插入图片描述
8、检测复制环境
在这里插入图片描述
9、启动manager
在这里插入图片描述

故障切换测试:

1、在主库kill掉mysql进程
2、检测发现mysqlst成为新的主库
在这里插入图片描述
3、在新的主库执行ifconfig命令,发现vip漂移成功
在这里插入图片描述
4、查看manager配置文件,旧的主库已经被踢出集群

5、将旧的主库作为从库重新加入到集群中来
可以借助故障切换时的MHA日志来完成对旧主库的修复
cat /var/log/masterha/app1/manager.log |grep -i “All other slaves should start”
在这里插入图片描述
6、再次检测复制环境
在这里插入图片描述

总结:

工作原理:

1、从宕机崩溃的master保存二进制日志文件;
2、识别延迟最小的slave
3、应用差异的中继日志(relaylog)到其他slave;
4、应用从master保存的二进制日志binlog
5、提升一个slave作为新的master
6、建立新的主从关系

优点:

1、MHA是一款开源的工具
2、同一个监控节点可以监控多个集群
3、可以自动完成数据库的故障切换
4、切换速度快、而且可以最大程度的保证数据的一致性

缺点:

1、需要配置ssh免认证,有一定的安全隐患
2、在VIP地址漂移时会有延迟。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值