我的服务器(CentOS)包含许多网站,它们使用 cron 从许多来源收集数据。mysql 配置是默认的
最近,PHP 无法与 mysql 通信。首先,我只是重新启动服务器
但重启后,PHP 仍然无法与 mysql 通信
我试过了:
ps ax | grep mysql
然后运行:(
kill -9 ####
我也试过了killall -9 ####
)——这失败了,ps ax | grep mysql
显示被杀死的进程id仍然存在
service mysqld start
(我也尝试过/etc/init.d/mysqld start
) - 我得到了回复Timeout error occurred trying to start MySQL Daemon.
运行时top
,mysqld_safe
出现在顶部,CPU 使用率约为 50%。我不知道整个数据库的大小。
我真的很困惑
答案1
请记住,mysqld_safe 不是 MYSQL。它有一个循环来调用 mysqld,即实际的服务器守护进程。它很可能在尝试启动 mysqld 时陷入了愚蠢的循环。这就是问题所在。
你应该总是
- 确保上次 mysqld 运行时的套接字文件已经消失。
- 启动失败后检查mysql错误日志。
答案2
我认为这是硬件问题,或者至少硬盘速度很慢。您能粘贴 /proc//status 内容吗?您可以运行dmesg
并粘贴最后 20 行吗?