我无法重新启动 mysql。当我输入以下命令时,我收到此消息:
# /etc/init.d/mysql restart
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mysql restart
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the restart(8) utility, e.g. restart mysql
而且它挂起永远。
当我尝试使用以下命令重新启动 mysql 作为服务时:
# service mysql restart
它挂起永远。
我也无法再以 root 身份登录 mysql。有什么办法可以让它再次运行吗?
我尝试了以下
# service mysql start
start: Job is already running: mysql
当我执行以下操作时
# ps -ef | grep -i mysql | grep -v grep
什么都没有返回
答案1
检查 /var/log 或 /var/lib/mysql 中的 MySQL 日志。
我敢打赌,它“挂起”的原因是它在对可能已损坏的表进行某种修复。我见过“mysql”需要 20 分钟或更长时间才能“启动”……在假设它“挂起”之前,你给了它多长时间?
查看日志是否指示任何内容。此外,启动 mysql 一次后,尝试运行此命令以验证 MySQL 是否确实在运行:
ps aux | grep mysql
答案2
调试这类事情的最佳方式是直接运行
sudo mysqld
这是查看启动错误的唯一方法。(出于某种原因,它们没有写入任何 mysql 日志)。通常,您可以看到它无法加载 binlog 或无法访问某个目录。