教学之友,学习之友。

站长教学网

当前位置: 站长教学网 > 数据库 > MYSQL教程 >

如何监控mysql是否停止/利用php检测mysql失败并重启

时间:2012-06-30 18:41来源:未知 作者:ken 点击:

原创:很多时候我们需要自动监控检测数据库是否正常运行,然后根据数据库情况来进行相应的命令处理,如重启,发送信息等!

以下使用三个步骤来达到监控mysql数据库连接状态的目录。

思路:使用php定时尝试连接数据库并返回链接后的状态数据,对其相应的处理。

首先:能够运行php的目录下建立一下文件 暂名:checkmysql.php

  1. <?php  
  2. //测试php数据库链接状态的脚本  
  3. $mysql_user = "mycar168test";  
  4. $mysql_password = "2011_mycar168data";  
  5.  
  6. $link = mysql_connect("localhost",$mysql_user,$mysql_passwordor die("bad");  
  7. print ("ok");  
  8. mysql_close($link);  
  9. ?>  
  10.  

其次建立 shell脚本名checkmysql.sh

  1. # vi check.sh  
  2.  
  3. #!/bin/sh  
  4.  
  5. cd /usr/local/sbin  
  6. test -e "checkmysql.php" && rm -f checkmysql.php  
  7. test -e "wget-log" && rm -f wget-log  
  8.  
  9. wget -b "http://127.0.0.1/checkmysql.php" > /dev/null 2>&1  
  10. sleep 2  
  11.  
  12.  
  13. checkdb=`cat checkmysql.php`  
  14.  
  15.     if   
  16.      [ "$checkdb" == "ok" ] ;then 
  17.           echo "`date +%d/%m/%Y:%H:%M:%S` - - Mysql connected successfully!" 
  18.           echo "-------------------------------------------------------------" 
  19.     elif   
  20.      [ "$checkdb" != "ok" ] ;then 
  21.           #/etc/init.d/mysqld restart  
  22.     service mysql restart  
  23.           echo "`date +%d/%m/%Y:%H:%M:%S` - - Mysql connected bad!restart successful!" 
  24.           echo "-------------------------------------------------------------" 
  25.      fi  
  26.      exit 0  
  27.  

最后设置定时运行监控crontab,下面为2分钟一次:站长教学网 eduyo.com

*/2 * * * * root /root/shell/checkmysql.sh >> /data/logs/checkmysql.log

这样就每次监控记录就可以保存着log文件里面了,要是有短信接口也可以发送短信通知你。

有问题可以留言探讨,希望能对您有帮助!原创内容转载请注明来源。

(责任编辑:ken)
TAG标签: php mysql 监控
顶一下
(1)
100%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
注册登录:不允许匿名留言,登录后留言无需输入验证码。
栏目列表
最新内容