首页 / 邮件 / MySQL主从同步状态监控脚本及邮件通知
MySQL主从同步状态监控脚本及邮件通知
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MySQL主从同步状态监控脚本及邮件通知,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1254字,纯文字阅读大概需要2分钟。
内容图文
![MySQL主从同步状态监控脚本及邮件通知](/upload/InfoBanner/zyjiaocheng/908/3dac90f59cf141b0889ccbe791fb71ec.jpg)
网络版本
#!/bin/bash
mysql_cmd="mysql -u root -pxxxxxxxxx"
errorno=(1158 1159 1008 1007 1062)
while true
do
array=($($mysql_cmd -e "show slave status\G"|egrep '_Running|Behind_Master|Last_SQL_Errno'|awk '{ print $NF }'))
if [ "${array[0]}"=="Yes" -a "${array[1]}"=="Yes" -a "${array[2]}"=="0" ]
then
echo "MySQL is slave is ok"
else
for ((i=0;i<${#errorno[*]};i++))
do
if [ "${array[3]}"="${errorno[$i]}" ];then
$mysql_cmd -e "stop slave &&set global sql_slave_skip_counter=1;start slave;"
fi
done
char="MySQL slave is error"
echo "$char"
echo "$char"|mail -s "$char" 1234567@qq.com
break
fi
sleep 30
done
精简原因:
1、root账号权限太大,新建一个query账号,相关赋权:
GRANT REPLICATION CLIENT on *.* to 'query'@'%' ;
FLUSH PRIVILEGES
2、因我的db启用了GTID,不适用于set global sql_slave_skip_counter=1命令,故取消该步骤
3、‘_Running’过滤时会剩下Slave_SQL_Running_State,不想要,改为‘_Running’
简化后脚本:
#!/bin/bash
mysql_cmd="mysql -uquery -pxxxxxxxxx"
while true
do
array=($($mysql_cmd -e "show slave status\G"|egrep '_Running:|Behind_Master|Last_SQL_Errno'|awk '{ print $NF }'))
if [ "${array[0]}"=="Yes" -a "${array[1]}"=="Yes" -a "${array[2]}"=="0" ]
then
echo "MySQL is slave is ok"
else
char="MySQL slave is error"
echo "$char"
echo "$char"|mail -s "$char" 1234567@qq.com
break
fi
sleep 30
done
内容总结
以上是互联网集市为您收集整理的MySQL主从同步状态监控脚本及邮件通知全部内容,希望文章能够帮你解决MySQL主从同步状态监控脚本及邮件通知所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。