我为加拿大多伦多和世界各地的各种客户提供自由 IT 咨询服务。
一位客户最近遇到了电源故障。现在,他们在同时充当 DNS 服务器的 Slackware 12.0.0 机器上遇到了各种问题。
一个问题是他们无法登录到 phpMyAdmin。
我尝试停止并重新启动 MySQL。但即使 MySQL 停止,锁文件仍然存在。
jasonspiro@cybertron:~$ sudo /etc/init.d/mysql stop
Shutting down MySQL. SUCCESS!
jasonspiro@cybertron:~$ sudo /etc/init.d/mysql stop
ERROR! MySQL manager or server PID file could not be found!
jasonspiro@cybertron:~$ sudo /etc/init.d/mysql status
ERROR! MySQL is not running, but lock exists
jasonspiro@cybertron:~$ ls -l /var/lock/subsys/mysql
-rw-r--r-- 1 root root 0 2012-07-05 16:18 /var/lock/subsys/mysql
尽管 MySQL 没有运行,为什么 MySQL 的锁文件仍然存在?
我可以简单地停止 MySQL,删除锁定文件,然后重新启动 MySQL 吗?
接下来我应该采取任何其他步骤,还是什么都不做?
编辑: 在我问了这个问题一段时间后,我注意到MySQL 在这台机器上的安装方式似乎很奇怪。另外,我发现/etc/init.d/mysql
我在这台机器上找到的脚本在启动 MySQL 时总是创建一个锁定文件,并且在停止 MySQL 时从不删除该文件。所以这个问题原来与我无关。谢谢,但我不需要这个问题的更多答案。
做:
ls -al /var/lock/subsys
寻找
mysql.pid
。删除它。mysql.sock
如果存在,也将其删除。如果一切都失败了,[作为 root] 使用
updatedb ; locate <filename>
. 在这种情况下,这是你的朋友。尝试使用 init 脚本重新启动 MySQL。如果这不起作用,请从可接受的数据库备份恢复到数据库检查点。
如果不存在数据库备份:使用
dd
ASAP 克隆此磁盘。您可能需要使用一些硬核恢复程序。即使 MySQL 服务再次启动备份,也要保存最好的已知良好备份一段时间,以防万一。