解决步骤如下:
1. 检查MySQL服务是否已经启动
运行以下命令检查MySQL服务是否已经正在运行:
systemctl status mysql
如果该命令输出类似下面的结果,则表示MySQL服务正在运行:
● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2021-03-22 16:35:08 UTC; 10min ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Process: 2184 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid (code=exited, status=0/SUCCESS)
Process: 2058 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
Main PID: 2187 (mysqld)
CGroup: /system.slice/mysql.service
└─2187 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid
如果该命令输出以下类似的结果,则表示MySQL服务未启动:
● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: inactive (dead)
如果没有启动,则需要启动MySQL服务:
sudo systemctl start mysql
2. 检查MySQL配置文件
如果MySQL服务已经启动,但是仍然出现"Manager of pid-file quit without updating file.[FAILED]"错误,则需要检查MySQL的配置文件是否有错误。 MySQL的配置文件通常位于'/etc/mysql/mysql.conf.d/mysqld.cnf'。
运行以下命令以查找mysqld.cnf文件:
sudo find / -name mysqld.cnf
该命令将搜索整个文件系统,直到找到名为mysqld.cnf的文件。一旦找到该文件,可以使用vim编辑器或其他文本编辑器打开它。
例如,使用vim编辑器打开mysqld.cnf文件:
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
检查文件内的内容是否正确,并确保MySQL是否正确地配置为在指定的位置创建PID文件。 通常,MySQL的PID文件位于'/var/run/mysqld/mysqld.pid'。
3. 检查MySQL数据目录
如果MySQL服务已经启动,但是依然出现"Manager of pid-file quit without updating file.[FAILED]"错误,则需要检查MySQL数据目录是否被正确地设置。
MySQL数据目录通常位于'/var/lib/mysql'。确保数据目录的所有权和文件权限设置正确。MySQL需要访问数据目录,以便将数据写入硬盘,如果目录权限不正确,则可能会遇到错误。
例如,如果测试发现MySQL无法访问数据目录并出现访问被拒绝的错误,则应使用以下命令更改所有权:
sudo chown -R mysql:mysql /var/lib/mysql
也可以使用以下命令来更改文件权限:
sudo chmod -R 755 /var/lib/mysql
这些命令将所有权和文件权限更改为MySQL用户,并使该目录对MySQL用户可读可写。
4. 重启MySQL服务
配置文件和数据目录检查完毕后,需要重启MySQL服务以使更改生效。运行以下命令重启MySQL服务:
sudo systemctl restart mysql
这将重新启动MySQL服务,并使之前检查的更改生效。运行以下命令,以确认MySQL服务是否正在运行:
systemctl status mysql
示例1:
假设MySQL服务未启动,出现"Manager of pid-file quit without updating file.[FAILED]"错误。在这种情况下,可以按以下步骤解决此问题。
- 运行以下命令以启动MySQL服务:
sudo systemctl start mysql
- 运行以下命令以确认MySQL服务是否正在运行:
systemctl status mysql
如果该命令输出与下面类似的结果,则表示MySQL服务已经在运行。
● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2021-03-22 16:35:08 UTC; 10min ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Process: 2184 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid (code=exited, status=0/SUCCESS)
Process: 2058 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
Main PID: 2187 (mysqld)
CGroup: /system.slice/mysql.service
└─2187 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid
示例2:
假设mysqld.cnf文件中的路径设置不正确,MySQL PID文件的路径不是'/var/run/mysqld/mysqld.pid'。在这种情况下,可以按以下步骤解决此问题。
- 使用vim编辑器打开mysqld.cnf文件:
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
- 在文件中找到PID文件的路径设置,例如:
pid-file = /run/mysqld/mysqld.pid
-
确认PID文件的路径是否正确,可以更改该路径,也可以按照要求创建具有正确PID路径的目录。
-
保存文件并退出编辑器。
-
运行以下命令来重启MySQL服务以使更改生效:
sudo systemctl restart mysql
在这种情况下,如果MySQL服务出现Manager of pid-file quit without updating file.[FAILED]错误,则更改PID文件的路径可能是解决问题的关键。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Starting MySQL.Manager of pid-file quit without updating file.[FAILED]的解决方法 - Python技术站