[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

【超过500家企业部署】AWS搭建、运维、监控服务

【超过500家企业部署】AWS搭建、运维、监控服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

[仅适用于 WordPress] 云服务器“Web Speed”

[仅适用于 WordPress] 云服务器“Web Speed”

[便宜]网站安全自动诊断“快速扫描仪”

[便宜]网站安全自动诊断“快速扫描仪”

[预约系统开发] EDISONE定制开发服务

[预约系统开发] EDISONE定制开发服务

[注册100个URL 0日元] 网站监控服务“Appmill”

[注册100个URL 0日元] 网站监控服务“Appmill”

【兼容200多个国家】全球eSIM“超越SIM”

【兼容200多个国家】全球eSIM“超越SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

【全球专属服务】Beyond北美及中国MSP

【全球专属服务】Beyond北美及中国MSP

[YouTube]超越官方频道“美由丸频道”

[YouTube]超越官方频道“美由丸频道”

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

你好。我叫 Goto,来自网络系统部门。

之前写过一篇关于套接字错误的文章


我写到socket文件不存在时的解决方案之一是

然而,也有这样的情况。

  • MySQL 管理器或服务器 PID 文件无法找到
    且无法停止的情况。
  • MySQL没有运行,但是锁存在
    并且无法启动。

可能有这样的事情。

这次,我把这些错误的原因以及处理方法写下来。

1.如果你无法阻止

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

*PID文件是写入PID的文件。
在Linux中,内核使用进程标识符来管理进程。这就是 PID(进程 ID)。
对于系统直接启动的进程,比如mysqld,会生成一个pid文件,这样内核就不会忘记它。
如果你查看 /var/run/ 下,你会看到各种 pid 文件。

解决方法是创建一个 PID 文件。
检查要从 my.cnf 创建的位置。

/etc/my.cnf

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

它设置为安装在/var/run/mysqld/mysqld.pid中,因此在那里创建一个PID文件。

# 触摸 /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
本例中2846是mysqld的PID,因此将2846写入创建的mysqld.pid中。

回声 2846 > /var/run/mysqld/mysql.pid

这应该阻止它!

2. 如果无法启动

MySQL未运行,但锁存在

原因是锁文件仍然存在。

*锁定文件是在进程成功启动时创建并在进程成功停止时删除的文件,
以防止同一进程被创建两次。

解决办法是删除lock文件。

# rm /var/lock/subsys/mysql

您现在应该可以启动了!

*注意:在以下情况下似乎会出现相同的错误。

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

以上是当MySQL无法启动或停止时的处理方法。

如果您觉得这篇文章有帮助,请点赞!
0
加载中...
0 票,平均:0.00 / 10
14,179
X Facebook 哈特纳书签 口袋
[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

[大阪/横滨] 积极招募基础设施工程师和服务器端工程师!

[大阪/横滨] 积极招募基础设施工程师和服务器端工程师!

写这篇文章的人

关于作者