【发布时间】:2015-09-04 04:05:09
【问题描述】:
我正在寻找一个 PHP 脚本,它可以检查CENTOS / Linux VPS 中的 mysql 是否正在运行?
我尝试了几种方法,但都不起作用
第一种方法:
<?
$command = ('/etc/init.d/mysql restart');
if (! $dbh = mysql_connect('localhost','username','password') ){
$output = shell_exec($command);
echo "<pre>$output</pre>";
}
else
echo"nothing happened";
?>
第二种方法:
<?php
// STOP + START = RESTART..
system('net stop "MySQL"'); /* STOP */
system('net start "MySQL"'); /* START */
?>
这两种方法在 PHP 中都不适合我..
问题是:这些天我的网站有太多的 mysql 负载,我尝试了几种方法,但我无法阻止它崩溃。 因此我决定制作一个 PHP 脚本来检查天气 mysql 是否正在运行? 如果没有,那么 PHP 脚本将执行 Restart Mysql, 或者打印“My Sql 正在运行”。 为此,我决定在 PHP 中设置一个 Cron Job,该 PHP 脚本将监视 mysql 是否正在运行。 我也在寻找最后保存日志..检查mysql重启了多少次..... 请有人找到此问题的修复程序..并在此处发布.. 提前谢谢...
【问题讨论】:
-
为了爱每一个连接到互联网的设备,不要将 PHP 配置为可以执行 shell 命令或外部程序。
-
Mysql负载分析可以使用Mysql慢查询日志dev.mysql.com/doc/refman/5.1/en/slow-query-log.html
-
@GaneshGhalame 请注意,如果 MySQL 是问题所在,myself_safe 只会成功重新启动 mysqld - 通常不是。如果由于内存不足的 Web 服务器消耗了所有可用资源而导致 MySQL 服务器被系统杀死,mysqld_safe 将立即发现并重新启动 mysqld 如果可能,但如果内存持续不足,它会正确放弃,假设某些事情更严重。如果 Apache 在同一台机器上,问题通常是这样的:dba.stackexchange.com/questions/25077/…
-
@Michael-sqlbot 感谢您的澄清