lvs mysql检测_针对于LVS分发MySQL的监控

本文介绍了一个用于监控LVS分发MySQL读负载的脚本,旨在检测主从数据库是否同步。当检测到主从不同步时,脚本将通过iptables阻止从库的3306端口,防止数据错误。同时,脚本考虑了在所有从库不可用时的保护措施,确保至少保留一台可用从库。
摘要由CSDN通过智能技术生成

需求:LVS给MySQL进行读负载,如果主从出现主从不同步,那就会出现问题,如何实现主从不同步的时候我就在LVS上去掉那台从库呢,而且如果当LVS上指负载一台从库的时候,我要是再去掉的话,岂不无从库可查了,故写个脚本,个人认为逻辑性还是很强的。

#!/bin/bash

c=`cat /opt/duoyongtu/10/mysql.txt`

for i in $c

do

a=`mysql -uroot -h$i -p12345678 -P3306 -e "show slave status\G"|egrep '(Slave_IO_Running|Slave_SQL_Running)'|awk '{print $NF}'`

for k in $a

do

if [ "$k" != "Yes" ]; then

f=`ssh 192.168.0.146 "ip a|grep 192.168.1.5|wc -l"`

if [ "$f" -eq 1 ]; then

b=`ssh 192.168.0.146 "cat /opt/yanchao/xianzai.txt| wc -l"`

if [ "$b" -ge 2 ]; then

#sh /www/shell/syslog_2.sh $i-slave-stop `hostname` 1 2 1 6

ssh $i "iptables -A INPUT -s 192.168.0.146 -p tcp -m tcp --dport 3306 -j DROP"

ssh $i "iptables -A INPUT -s 192.168.0.147 -p tcp -m tcp --dport 3306 -j DROP"

echo bad

else

echo good

fi

else

b=`ssh 192.168.0.147 "cat /opt/yanchao/xianzai.txt| wc -l"`

if [ "$b" -ge 2 ]; then

# sh /www/shell/syslog_2.sh $i-slave-stop `hostname` 1 2 1 6

ssh $i "iptables -A INPUT -s 192.168.0.146 -p tcp -m tcp --dport 3306 -j DROP"

ssh $i "iptables -A INPUT -s 192.168.0.147 -p tcp -m tcp --dport 3306 -j DROP"

echo bad

else

echo good

fi

fi

else

d=`ssh $i "iptables -L -n|grep 192.168.0.146|wc -l"`

if [ "$d" -ge 1 ]; then

for e in 192.168.0.146 192.168.0.147

do

ssh $i "iptables -F"

done

fi

fi

done

done

相关阅读:

0b1331709591d260c1c78e86d0c51c18.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值