需求: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 statusG"|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
相关阅读:通过LVS实现WEB站点的MySQL高可用 http://www.linuxidc.com/Linux/2013-06/86390.htmLVS+Apache+PHP+MySQL读写分离 http://www.linuxidc.com/Linux/2012-12/77027.htmMySQL LVS负载均衡 http://www.linuxidc.com/Linux/2012-09/69862.htm企业Web高可用集群实战之LVS+Keepalived+MySQL HA http://www.linuxidc.com/Linux/2012-09/70097.htmUbuntu 12.04下源代码安装MySQL5.6以及Python-MySQLdb数据块损坏后修复 ORA-01578相关资讯 LVS LVS MySQL MySQL监控
- LVS + Keepalived 介绍及安装 (今 21:32)
- Linux服务器集群LVS (06月17日)
- LVS三种调度模式的区别 (01月24日)
| - Zabbix实战企业监控之MySQL监控 (06月23日)
- LVS+Keepalived使用总结 (03月15日)
- MySQL监控利器-Innotop (01月06日)
|
本文评论 查看全部评论 (0)