今天笔者编写测试一下使用/usr/bin/mysqlreport工具检查MySQL运行状态。检查 MySQL运行状态有命令SHOW STATUS; ,但是这个命令与mysqlreport工具是有差别的,SHOW STATUS是简单的罗列数据,mysqlreport工具是得到统计结果。当然用法也不一样,mysqlreport直接在终端命令行操作,SHOW STATUS需要先mysql连接到数据库,在数据库的命令行操作,也可以直接使用,比如:mysql -hlocalhost -uphpmyadmin -pphpmyadmin -e "show status" 。
mysqlreport的命令格式如下:
mysqlreport --user phpmyadmin --password phpmyadmin --host 192.168.31.103
命令参数:
脚本首先在mysql数据库服务器上都新建相同用户名,密码要一致,并赋予所有权限。笔者使用脚本查看了两个数据库服务器的状态。重要的是运行脚本的电脑上要有mysqlreport工具,如果你安装了mysql,那么是有mysqlreport工具,并且在默认路径中。如果不是没有安装数据库服务器的话,那么可以在github上下载mysqlreport工具来单独使用。
脚本如下:
#!/bin/bash
DATE=`date '+%Y%m%d%H%M'`
ADMIN="zhang@gmail.com"
STATUS_LOGS="/home/pi/mysql_status.log"
USER="phpmyadmin"
PASSWORD="phpmyadmin"
PORT="3306"
IP="192.168.31.103 192.168.31.82"
if [ ! -f $STATUS_LOGS ];then
/bin/touch $STATUS_LOGS
fi
for i in $IP
do
HOSTNAME=$i
/bin/echo "================ mysql status analize at date:$DATE====================">>$STATUS_LOGS
/bin/echo "========================== Status For $HOSTNAME ==================================">>$STATUS_LOGS
/usr/bin/mysqlreport --user $USER --password $PASSWORD --host $IP >>$STATUS_LOGS
sleep 1
echo " ">>$STATUS_LOGS
done
效果如下:
网友评论