mysql实现自动监控同步的脚本


本文摘自PHP中文网,作者小云云,侵删。

MySQL越来越被更多企业接受,随着企业发展,MySQL存储数据日益膨胀,MySQL的性能分析、监控预警、容量扩展议题越来越多。“工欲善其 事,必先利其器”,那么我们如何在进行MySQL性能分析、监控预警、容量扩展问题上得到更好的解决方案,就要利用各种工具来对MySQL各种指标进行分析。本篇内容我们就讲解自动监控从MySQL同步的脚本。

脚本设计思路:

1、此脚本应该能适应各种各样不同的内外网环境,即IP不同的环境;

2、让脚本也顺便监控下MySQL是否正常运行;

3、Slave机器的IO和SQL状态都必须为YES,缺一不可,这里用到了多重条件判断-a。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

#!/bin/bash

#check MySQL_Slave Status

#crontab time 00:10

Mail-list=

MysqlUser=

MysqlPass=

MYSQLPORT=`netstat -na|grep "LISTEN"|grep "3306"|awk -F[:" "]+ '{print $5}'`

MYSQLIP=`ifconfig eth0|grep "inet addr" | awk -F[:" "]+ '{print $4}'`

STATUS=$(/usr/local/mysql/bin/mysql -u $MysqlUser -$MysqlPass -e "show slave status\G" | grep -i "running")

IO_env=`echo $STATUS | grep IO | awk ' {print $2}'`

SQL_env=`echo $STATUS | grep SQL | awk '{print $2}'`

if [ "$MYSQLPORT" == "3306" ]

then

echo "mysql is running"

else

/bin/mail -s "warning!server: $MYSQLIP mysql is down" $Mail-list

fi

if [ "$IO_env" = "Yes" -a "$SQL_env" = "Yes" ]

then

echo "Slave is running!"

else

echo "####### $date #########" >> /tmp/check_mysql_slave.log

echo "Slave is not running!" >> /tmp/check_mysql_slave.log

echo "Slave is not running!"

#mail -s "warn! $MySQLIP_replicate_error" $Mail-list << /tmp/check_mysql_slave.log

echo "`cat /tmp/check_mysql_slave.log`" |mail -s "Warning...slave is not running!!" $Mail-list

fi

使用方式:

阅读剩余部分

相关阅读 >>

mysql中like概念及用法讲解

mysql中如何实现排名

mysql数据库优化需要遵守的原则

mysql5详细安装教程

mysql高级操作指令汇总

mysql优化的思路介绍

mysql数据库是如何实现xa规范的

mysql数据库】第三章解读:服务器性能剖析(上)

mysql内存使用的查看方式详解

centos中mysql安装方法

更多相关阅读请进入《mysql》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...