首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL MHA部署 Part 7 MHA手动切换测试

MySQL MHA部署 Part 7 MHA手动切换测试

作者头像
bsbforever
发布2020-08-19 16:45:35
8320
发布2020-08-19 16:45:35
举报

实验环境

此次实验的环境如下

  • MySQL 5.7.25
  • Redhat 6.10
  • 操作系统账号:mysql
  • 数据库复制账号:repl
  • 复制格式:基于行的复制
  • MHA版本: 0.56

IP地址

主从关系

复制账号

复制格式

11.12.14.29

主库

repl

Row-Based

11.12.14.30

从库(半同步/备master)

repl

Row-Based

11.12.14.39

从库(异步)

repl

Row-Based

11.12.14.40

管理节点

11.12.14.41

VIP

1.png
1.png

上节我们说了MHA的故障转移,这节内容为手动切换

1 检查现有状态

我们可以先通过 show slave status\G查看从库同步是否正常

2 打开管理节点日志

我们通过如下命令事实查看切换功臣

tail -f /etc/mha/manager/mha.log

3.执行手动切换

首先需要关闭MHA的管理进程

root> masterha_stop -conf=/etc/mha/mha.conf 

之后我们通过如下命令关闭主库

masterha_master_switch   -master_state=alive –orig_master_is_new_slave –conf=/etc/mha/mha.conf

-master_state=alive 代表告诉MHA原master还是存活的,不需要将其从配置文件删除

–orig_master_is_new_slave 参数代表原master会自动同步新的master

还有一些其他的参数如下

-running_updates_limit 如果主库的写操作时间超过了该参数,则退出切换

–interactive=0 代表直接确认,不需要输入YES

4 日志分析

这时我们查看你管理阶段的日志输出

4.1 检查配置文件并确认

2.png
2.png

上图可以看到需要确认在确认前是否执行flush no_write_to_inlog tables 语句

这里输入YES

4.2 切换前确认

3.png
3.png

从上图可以看出,mha重新读取配置文件并确认数据库状态

这里确认是否需要从14.29切换至14.30

这里输入YES

4.3 切换阶段

之后就是正式的切换过程,简单概括如下

  • 执行master_ip_online_change时当前master不可写
  • 新的主库设置只读
  • 旧的主库设置只读
  • 禁用原主库VIP
  • 旧主库设全局锁
  • 获取新主库master信息
  • 新主库设置VIP
  • 新主库取消只读
  • 异步从库重新同步至新主库
  • 原主库释放全局锁
  • 原主库同步至新主库
4.png
4.png

以上就是一个完整的手工迁移过程,这时可以手动查看各节点信息

6. 参考资料

https://www.percona.com/blog/2016/09/02/mha-quickstart-guide/

http://www.ttlsa.com/mysql/step-one-by-one-deploy-mysql-mha-cluster/

https://www.cnblogs.com/ivictor/p/5686275.html

https://andblog.cn/?p=974

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-07-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 宅必备 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 实验环境
  • 1 检查现有状态
  • 2 打开管理节点日志
  • 3.执行手动切换
  • 4 日志分析
    • 4.1 检查配置文件并确认
      • 4.2 切换前确认
        • 4.3 切换阶段
        • 6. 参考资料
        相关产品与服务
        云数据库 SQL Server
        腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档