mysql 检测从库状态
2017-11-24 00:00
447 查看
先将show slave status的结果转换成字典,再取key对应的值去判断相关属性的状态
#!/bin/bash
HOSTNAME="XXXX"
PORT="3306"
USERNAME="XXXX"
PASSWORD="XXXXX"
DBNAME="mysql"
use_db_sql="use ${DBNAME}"
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} -e "${use_db_sql}"
select_sql="show slave status\G;"
state=`mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "${select_sql}"`
ret=${state//: /:}
####echo $ret
####下面是将字符串分割成数组
OLD_IFS="$IFS"
IFS=" "
arr=($ret)
IFS="$OLD_IFS"
####字典必须先声明
declare -A dic
OLD_IFS="$IFS"
IFS=":"
for s in ${arr[@]}
do
arr2=($s)
##echo ${#arr2[@]} ":count"
if [ ${#arr2[@]} -eq 2 ];then
dic[${arr2[0]}]=${arr2[1]}
else
dic[${arr2[0]}]=""
fi
done
IFS="$OLD_IFS"
io_run=${dic["Slave_IO_Running"]}
sql_run=${dic["Slave_SQL_Running"]}
str="Yes"
if [ "$io_run" != "$str" ] || [ "$sql_run" != "$str" ];then
####发送邮件通知
sh sendmail.sh
fi
#####sendmail.sh
#!/bin/bash
/usr/sbin/sendmail -t <<EOF
From: XXXXXXX<XXX@XXXXX.com>
To: XXX@XXX.com
Cc: XXX@XXX.com
Subject: mysql slave monitor
----------------------------------
mysql slave server exception!
---------------------------------
EOF
#!/bin/bash
HOSTNAME="XXXX"
PORT="3306"
USERNAME="XXXX"
PASSWORD="XXXXX"
DBNAME="mysql"
use_db_sql="use ${DBNAME}"
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} -e "${use_db_sql}"
select_sql="show slave status\G;"
state=`mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "${select_sql}"`
ret=${state//: /:}
####echo $ret
####下面是将字符串分割成数组
OLD_IFS="$IFS"
IFS=" "
arr=($ret)
IFS="$OLD_IFS"
####字典必须先声明
declare -A dic
OLD_IFS="$IFS"
IFS=":"
for s in ${arr[@]}
do
arr2=($s)
##echo ${#arr2[@]} ":count"
if [ ${#arr2[@]} -eq 2 ];then
dic[${arr2[0]}]=${arr2[1]}
else
dic[${arr2[0]}]=""
fi
done
IFS="$OLD_IFS"
io_run=${dic["Slave_IO_Running"]}
sql_run=${dic["Slave_SQL_Running"]}
str="Yes"
if [ "$io_run" != "$str" ] || [ "$sql_run" != "$str" ];then
####发送邮件通知
sh sendmail.sh
fi
#####sendmail.sh
#!/bin/bash
/usr/sbin/sendmail -t <<EOF
From: XXXXXXX<XXX@XXXXX.com>
To: XXX@XXX.com
Cc: XXX@XXX.com
Subject: mysql slave monitor
----------------------------------
mysql slave server exception!
---------------------------------
EOF
相关文章推荐
- web服务器php、mysql的健康状态检测
- php在linux下检测mysql同步状态的方法
- 使用mysqladmin检测MySQL运行状态的教程
- 检测MySQL及MySQL主从的运行状态
- 批量检测Mysql复制状态的shell 脚本
- 检测mysql状态脚本
- mysql主从数据库状态检测(php)
- 如何实时检测mysql主从状态,并做邮件告警?
- php在linux下检测mysql同步状态的方法
- 检测mysql同步状态实现代码(php/linux)
- PHP实现的mysql主从数据库状态检测功能示例
- 轻松接触一个检测MySQL状态的脚本
- python检测mysql状态脚本--参考
- mysql主从状态检测
- mysql主从检测状态命令
- MySQL-Slave从服务器状态检测脚本
- F5登录式健康状态检测数据库mysql 推荐
- 使用mysqladmin检测MySQL运行状态的教程
- 数据库知识:带你轻松接触一个检测mysql状态脚本
- 使用mysqladmin检测MySQL运行状态的教程