如果无法启动或停止 MySQL,该怎么办?

您好,我是网络系统部门的Goto。

当我写一篇关于套接字错误的文章

,解决套接字文件缺失问题的其中一个方法是
重启 MySQL 服务器。

然而,也有像这样的情况。

  • “找不到 MySQL 管理器或服务器 PID 文件!”的
    错误信息
  • MySQL 没有运行,但
    出现锁存在错误,无法启动。

可能会发生类似的事情。

这次我将记录下这些错误的原因以及如何解决它们。

1. 如果你无法停止

找不到 MySQL 管理器或服务器 PID 文件!
这是因为 PID 文件不存在或无法找到。

PID 文件是描述进程 ID 的文件。
在 Linux 系统中,内核使用进程标识符(PID)来管理进程。对于
由系统直接启动的进程,例如 mysqld,系统会生成一个 PID 文件,以防止内核忘记该进程。
在 /var/run/ 目录下,您可以找到各种 PID 文件。

解决方法是创建一个 PID 文件,
请查看 my.cnf 文件以确定创建位置。

/etc/my.cnf

pid 文件 = /var/run/mysqld/mysqld.pid

它将被安装在 /var/run/mysqld/mysqld.pid 中,因此请在那里创建 PID 文件。

# touch /var/run/mysqld/mysql.pid # chown mysql:mysql /var/run/mysqld/mysqld.pid

PID 文件的内容必须包含 PID。

ps aux | grep mysqld

检查 mysqld 进程的 PID(不是 mysqld_safe)。
fde69d1de836ef30f76004ce86430966-600x45
在本例中,mysqld 的 PID 为 2846,因此将 2846 写入您创建的 mysqld.pid 文件。

echo 2846 > /var/run/mysqld/mysql.pid

这样应该就能阻止它了!

2. 如果你无法开始游戏

MySQL 未运行,但锁存在

原因是存在一个锁定文件。

*锁定文件是在进程成功启动时创建,并在进程成功停止时删除的文件,
目的是防止创建重复进程。

解决方法是删除锁定文件。

# rm /var/lock/subsys/mysql

现在应该开始了!

*注:以下情况也可能出现同样的错误:

  • /etc/my.cnf 指定日志应输出到一个不存在的目录。
  • 目标目录没有权限

以上是无法启动或停止 MySQL 时应该采取的措施。

如果您觉得这篇文章有用,请点击【点赞】!
0
加载中...
0票,平均分:0.00/10
15,464
X Facebook Hatena书签 口袋

这篇文章的作者

关于作者