DBA需要经常的对数据库进行一些检查,如数据库磁盘的占用量,缓存的命中率,内存的分配等,目的为简化频繁输入这些繁琐的命令。
#!/bin/bash
######################################
# Author:Bertram #
# Created Time:2020/9/28 #
# Describe:Mysql patrol script! #
######################################
host="127.0.0.1" #数据库IP
port="3306" #数据库端口
userName="root" #用户名
password="123456" #密码
dbname="grade" #数据库 名称
dbset="--default-character-set=utf8 -A" # 字符集
echo
echo -e "\033[1;32;31m================= Salve_IO_Running 和 Salve_SQL_Running SQL线程状态 ======================\033[0m"
MS="show slave status\G"
STATUS=$(/usr/bin/mysql -u${userName} -p${password} -e "${MS}" 2>/dev/null | grep -i "running:")
IO_env=`echo "$STATUS" | grep IO | awk ' {print $2}'`
SQL_env=`echo "$STATUS" | grep SQL | awk '{print $2}'`
if [ "$IO_env" = "Yes" -a "$SQL_env" = "Yes" ]
then
echo "SQL线程正常!"
else
echo "SQL线程出现异常!"
fi
echo
echo -e "\033[1;32;31m==================== 内存配置情况 ============&