当前位置: 首页 > news >正文

Mysql—高可用集群故障迁移

MHA的故障切换

共包括以下的步骤:

1.配置文件检查阶段,这个阶段会检查整个集群配置文件配置

2.宕机的master处理,这个阶段包括虚拟ip摘除操作,主机关机操作

3.复制dead master和最新slave相差的relay log,并保存到MHA Manger具体的目录下

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

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

6.提升一个slave为新的master进行复制

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

master未出现故障手动切换

原先172.25.254.10主机为Master

172.25.254.20,172.25.254.30主机为slave,

使用MHA可以进行切换

可以172.25.254.20转换为Master,172.25.254.10为slave

172.25.254.50上

[root@node4 ~]# vim /etc/masterha/app1.cnf 

使用命令进行检测

[root@node4 ~]# masterha_check_ssh --conf=/etc/masterha/app1.cnf

[root@node4 ~]# masterha_check_ssh --conf=/etc/masterha/app1.cnf

[root@node4 ~]# masterha_master_switch --conf=/etc/masterha/app1.cnf --master_state=alive --new_master_host=172.25.254.20 --new_master_port=3306 --orig_master_is_new_slave --running_updates_limit=10000

Master切换成功!!

172.25.254.10

172.25.254.20

172.25.254.30

master出现故障手动切换

172.25.254.10主机上模拟故障

172.25.254.50

[root@node4 ~]# masterha_master_switch --master_state=dead --conf=/etc/masterha/app1.cnf --dead_master_host=172.25.254.10 --dead_master_port=3306 --new_master_host=172.25.254.20 --new_master_port=3306 --ignore_last_failove

同意授权

Master切换成功!!

172.25.254.30

使用命令进行检测发现主是172.25.254.20

mysql> SHOW SLAVE STATUS\G;

172.25.254.10

重启数据库

[root@node1 ~]# /etc/init.d/mysqld start

使用命令进行查询

mysql> SHOW SLAVE STATUS\G;

由于重启启动后没有指定Master,得手动指定172.25.254.20主机

mysql> CHANGE MASTER TO MASTER_HOST='172.25.254.20', MASTER_USER='repl', MASTER_PAASSWORD='lee', MASTER_AUTO_POSITION=1;

mysql> start slave;

再次使用命令进行检测发现主是172.25.254.20

mysql> SHOW SLAVE STATUS\G;

master出现故障手动切换成功

恢复集群

当主是172.25.254.20时,可以使用命令切换回172.25.254.10

[root@node4 masterha]# masterha_master_switch --conf=/etc/masterha/app1.cnf --master_state=alive --new_master_host=172.25.254.10 --new_master_port=3306 --orig_master_is_new_slave --running_updates_limit=10000

当进行切换的时候会生成锁文件

[root@node4 ~]# cd /etc/masterha/

删除锁文件才能切换

[root@node4 masterha]# rm -fr app1.failover.complete 


http://www.mrgr.cn/news/49416.html

相关文章:

  • 【python入门到精通专题】8.装饰器
  • DVWA CSRF 漏洞实践报告
  • HL7协议简介及其在STM32上的解析实现
  • QT开发--QT SQL模块
  • Maven项目打包为jar的几种方式
  • 代码随想录 | Day32 | 回溯算法:排列问题
  • 电子电气架构---软件定义汽车,产业变革
  • iOS_图片加载优化
  • 考研C语言程序设计_语法相关(持续更新)
  • 2024系统架构师---试题二论软件维护方法及其应用
  • HTML(七)表格
  • AVL树实现
  • 020 elasticsearch7.10.2 elasticsearch-head kibana安装
  • 【优化方案】Java 将字符串中的星号替换为0-9中的数字,并返回所有可能的替换结果
  • 决策树和集成学习
  • 使用ChatGPT润色学术论文,只需4个顶级提示词指令,先人经验,直接高效使用
  • 深入探讨Python网络爬虫的实现与应用
  • ES5求职经典 JavaScript篇章
  • 优先算法1--双指针
  • 代理IP如何广告验证的效率和成功率?