主从正常状态是slave上的状态值:Slave_IO_Running:YES和Slave_SQL_Running:YES,当出现一个NO,表明mysql主从已破坏,但是,运维人员不可能随时进入mysql的slave上的状态值。所以需要一个脚步在规定时间内检测是否关系正常。
脚步大致内容:
#!/bin/bash
#Check MySQL_Slave Status
#MySQL version: 5.1.73
#2016-01-29
MySQL_PORT=`netstat -an|grep "LISTEN"|grep "3306"|awk -F ‘ ‘ ‘{print $4}‘|awk -F ‘:‘ ‘{print $2}‘` #注意:租后一个print $2,不一定适用所有主机,根据实际情况pring值
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}‘`