丁祖平

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

【题目要求】

假设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 status\G" 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 status\G" | 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

 

posted on 2019-06-08 23:14  丁祖平  阅读(176)  评论(0编辑  收藏  举报