mysql vip切换未重连问题_MySQL高可用方案设计与测试(下篇)

本文详细介绍了MySQL VIP切换时的检测脚本与高可用方案测试,包括主备切换、网络不可用及MySQL服务故障时的处理,确保在不同场景下服务的稳定性和自动恢复能力。
摘要由CSDN通过智能技术生成

Mysql切换检测脚本

keepalived_to_master.sh

升级为master时的检测脚本(主要检查备机复制状态是否可用,并发送报警)。

#!/bin/bash

#检查从mysql复制状态,确认是否可升级为主

VIP=10.130.10.43

MYSQL=/home/ddb/mysql/xtradb-5.1.47_netease/bin/mysql

MYSQL_HOST=127.0.0.1

MYSQL_PORT=5331

MYSQL_USER=root

MYSQL_PASSWORD=123

Seconds_Behind=5

PDIR=(dirname0)

isOK=1

if [ -f PDIR/repl ] && grep

"fail"PDIR/repl ; then

isOK=0

fi

msg="[`date +\"%Y-%m-%d %T \"`] change master to `hostname -i`:$MYSQL_PORT "

if [ $isOK -eq 1 ] ; then

MYSQL−hMYSQL_HOST -PMYSQLPORT−uMYSQL_USER -pMYSQLPASSWORD−e"SETGLOBALreadonly=OFF;">>PDIR/keepalived.log 2>&1

msg="$msg succeed"

else

sudo /etc/init.d/keepalived stop >>$PDIR/keepalived.log 2>&1

msg="$msg failed"

fi

echo msg>>PDIR/keepalived.log

cd PDIR && python sendmail.py

"msg"

keepalived_to_backup.sh

降级为backup时的检测脚本(设置备机mysql为readonly)。

#!/bin/bash

#备机状态打开read_only

MYSQL=/home/ddb/mysql/xtradb-5.1.47_netease/bin/mysql

MYSQL_HOST=127.0.0.1

MYSQL_PORT=5331

MYSQL_USER=root

MYSQL_PASSWORD=123

PDIR=(dirname0)

MYSQL−hMYSQL_HOST -PMYSQLPORT−uMYSQL_USER -pMYSQLPASSWORD−e"SETGLOBALreadonly=ON;">>PDIR/keepalived.log

启动keepalived

在主备两台服务器上执行service keepalived start,启动keepalived。即可实现对mysql的监测与切换。

五、方案测试

测试项a-c虚拟机环境,测试项d-f物理机环境

7f7492bb94cb5768ddcc25cc665900f3.png

a)按上述配置启动keepalived后,先测试vip是否绑定成功。

node-1网卡配置

94e0d7b3fe0795a8ed591ce595ec7777.png

node-2网卡配置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值