如果无法启动或停止 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)。
![]()
在本例中,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