首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL 高可用之MHA(二)

前言

上一篇《MySQL高可用之MHA 一》主要讲述了MHA的相关原理以及在铜板街上线的相关细节,本篇将从安装代码、测试等方面进行讲解MHA。

版本说明

系统版本:CentOS release 6.7 (Final)

DB版本:官方5.6.38-log MySQL Community Server (GPL)

MHA软件版本(下载地址见上篇文章):

mha4mysql-manager-0.56.tar.gz

mha4mysql-node-0.56.tar.gz

节点说明

manager : 192.168.1.102

mysql-master: 192.168.1.221

mysql-master VIP: 192.168.1.220

mysql-slave1: 192.168.1.222

mysql-slave2: 192.168.1.223

架构图(如下图1所示):

图 1

环境配置

配置 ssh 互通,分别登录所有节点,对其余节点配置 ssh 免密登录,如:登录 192.168.1.102 对 192.168.1.221 免密登录,执行 ssh-copy-id -i 192.168.1.221, 其他互通类似。

安装mha-node依赖及软件包,分别登录所有节点,执行:

结果提示:save_binary_logs version 0.56.

表示安装正确。

安装mha-manager依赖及软件包,登录manager : 192.168.1.102,执行:

结果提示:masterha_check_repl version 0.56.

表示安装正确。

在主库添加VIP,登录mysql-master: 192.168.1.221 执行:

主从配置,主库为 mysql-master: 192.168.1.221,从库为 mysql-slave1: 192.168.1.222,mysql-slave2: 192.168.1.223,架构如上面架构图(如图1所示),方法略。

主库授权

登录到mysql-master: 192.168.1.221 进行如下授权:

从库配置 pure_relay_logs

登录到各个从库 mysql-slave1: 192.168.1.222

mysql-slave2: 192.168.1.223 执行:

MHA配置

登录到manager : 192.168.1.102,执行如下:

相关脚本已经共享到 git,git clone 后替换 master_ip_failover、master_ip_online_change的vip和网卡为自己的配置,替换send_report中的 your email、your port、your password

服务检测及启停

登录到manager : 192.168.1.102

ssh 互通检测

结果:[info] All SSH connection tests passed successfully. 为正确

复制检测

结果:MySQL Replication Health is OK. 为正确

开启自动故障切换

MHA服务手动设置

MHA 自动故障切换测试

manager : 192.168.1.102 开启服务

正常状态下,登录到主库192.168.1.221发现VIP 102.168.1.220

图 2

我们在主库上将数据库关闭

可发现主库192.168.1.221不再存在VIP 102.168.1.220

图 3

登录到从库mysql-slave1:192.168.1.222(mha manager 配置的candidate_master=1,查看VIP已经自动设置成功。

图 4

同时收到mha切换的邮件

图 5

测试前打开另一中端,通过对DB VIP执行查询命令进行测试:

图6

发现VIP对外服务终止时间为24s。

此时登录到 mha manager 发现服务停止( MHA 在自动故障切换后,复制集群的状态

发生变化,所以每次自动故障切换完后,MHA都会停止),重新启动MHA需要修改

相应配置信息。

图 7

登录到新的主库192.168.1.222查看复制机器(server_id 12233306,为原来的mysql-slave2: 192.168.1.223),可以发现原来的从库已经指向自己。

图 8

原主库已经宕机,如果原主库故障处理后可以正常启动,需要加入原复制集群,可以通过登录到mha manager 执行grep "CHANGE MASTER TO " manager.log获得结果重新对新主库进行复制。

图 9

至此,MHA一个完整的自动故障切换流程已经完成。

作者简介

天元,铜板街DBA,2017 年 7 月加入团队,目前主要负责公司所有业务的数据库相关运维。

---------- END ----------

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180921G1FBH100?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券