首页 > 数据库技术 > 详细

脚本检测mariadb主数据库可用性,实时切换到从数据库

时间:2018-09-17 17:23:31      阅读:217      评论:0      收藏:0      [点我收藏+]
编写shell脚本 检测主mysql服务可用性,不可用则修改/etc/hosts文件中的 ip与db服务器对应关系

#!/bin/bash
#20180911
#author by efoni

DB_SERVER=(
192.168.181.129 #master
192.168.181.130 #slave
)
MARIADB_HOST="mariadb.fnqh"
echo date +%Y-%m-%d-%H:%M:%S

DB_IP=ping -c 2 $MYSQL_HOST|awk ‘NR==1 {print $3}‘|sed ‘s/(//g;s/)//g‘

mysql -h$MARIADB_HOST -uroot -pxxxxxx -e "show databases;" >>/dev/null 2>&1
CODE="$?"
while [$CODE -ne 0]
do
if ["$DB_IP" == "${DB_SERVER[1]"];then
sed -i "s/$DB_IP/${DB_SERVER[0]}/g" /etc/hosts
else
sed -i "s/$DB_IP/${DB_SERVER[1]}/g" /etc/hosts
fi
CODE=0
done

后台运行此脚本:
screen进入后台运行
输入while sleep 2;do sh auto_mariadb_monitor.sh ;done
或者nohup sh auto_mariadb_monitor.sh &后台运行
即可每隔2秒检测可用性并执行切换脚本。

脚本检测mariadb主数据库可用性,实时切换到从数据库

原文:http://blog.51cto.com/efoni/2176235

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!