【题目要求】
假设mysql密码是123456. 写脚本监控mysql服务是否正常,比如是否可以执行show processlist,并检测一下当前的mysql服务是主还是从。如果是从,请判断他的主从服务是否正常。如果是主,则不需要做什么
【核心要点】
mysql -uroot -p123456 -e "show processlist"
show slave status
【脚本】
#!/bin/bash mysql="/usr/local/mysql/bin/mysql -uroot -p123456" if ! $mysql -e "show processlist" >/dev/null 2>/dev/null then echo "Mysql service is down" else $mysql -e "show slave statusG" 2>/dev/null > /tmp/slave.stat n=`wc -l /tmp/slave.stat | awk '{print $1}'` if [ $n -eq 0 ]; then echo "This is master." else echo "This is slave." $mysql -e "show slave statusG" | egrep 'Slave_IO_Running:|Slave_SQL_Running:' | awk -F': ' '{print $2}' >/tmp/SQL.tmp if grep -qw "NO" /tmp/SQL.tmp then echo "The slave is down." fi fi fi