脚本查看mysql主从_自动检查MySQL主从同步状态的shell脚本

MySQL在做主从同步的时候,需要关注两个Yes,要时刻了解同步的状况,不可能每次都要登录到系统上查看,当然会想到使用到监控了,下面是收集的资料,然后经过自己的整理,供大家参考。

脚本是在Slave 的mysql数据库上运行,Mysql的安装目录是/usr/local/mysql/,监听的端口是TCP 3306,MySQL的版本是:5.6.27,操作系统是CentOS 6.7,没有关闭IPV6.

#!/bin/bash

#Check MySQL_Slave Status

#MySQL version: 5.6.27

#

MySQL_PORT=`netstat -an|grep "LISTEN"|grep "3306"|awk -F ' ' '{print $4}'|awk -F ':' '{print $4}'`

MySQL_IP=`ifconfig eth0 |grep "inet addr"|awk -F ':' '{print $2}'|awk -F ' ' '{print $1}'`

MySQL_Status=$(/usr/local/mysql/bin/mysql -S /tmp/mysql.socket -uroot -pfgjh123. -e "show slave status\G" |grep -i "running"|head -n2)

IO_env=`echo $MySQL_Status | grep Slave_IO_Running |awk '{print $2}'`

SQL_env=`echo $MySQL_Status |grep Slave_SQL_Running |awk '{print $2}'`

ToDay=`date +"%y-%m-%d %H:%M:%S"`

if [ "$MySQL_PORT" == "3306" ]

then

echo "######  $ToDay  ######" >> /data/check_mysql_slave_ok.log

echo "MySQL Server is running !" >> /data/check_mysql_slave_ok.log

else

mail -s "Warn! Server:$MySQL_IP MySQL is Down" balich@qq.com

fi

if [ "$IO_env" = "Yes" -a "$SQL_env" = "Yes" ]

then

echo "######  $ToDay  ######" >> /data/check_mysql_slave_ok.log

echo "Slave MySQL Server Slave_IO and Slave_SQL is running !" >> /data/check_mysql_slave_ok.log

else

echo "######  $ToDay  ######" >> /data/check_mysql_slave_warn.log

echo "Slave is not running !" >> /data/check_mysql_slave_warn.log

echo "Slave is not running !" | mail -s "Warn! $MySQL_IP MySQL Slave is not running " balich@qq.com

fi

使用任务计划crontab,每10分钟运行监测一次*/10 * * * * root /bin/sh /root/shell/Check_MySQL_Slave_Status.sh

脚本是思路:同时也监控Slave机器的IO和SQL状态都必须为YES,缺一不可,这里用到了多重条件判断-a

参考资料:

附加补充:第八行的最后一个awk 应该是$2,而我这里的脚本是$4,因为我没有关闭ipv6,如果是关闭了ipv6,确实是$2,所以,还需要各位根据自己的实际情况修改和使用。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值