service mysqld start 启动服务失败(Job for mysqld.service failed because the control process exited with e)

问题

昨天使用 MySQL 可视化工具建立两个表后就断开了数据库连接,同时Linux 服务器也关闭了。就在刚刚打开服务器时,输入 service mysqld start 启动服务时却得到了以下完整的信息:

# SEO
[root@localhost ~]# service mysqld start
Starting mysqld (via systemctl):  Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
    												[FAILED]

在这里插入图片描述
从提示上看,似乎让我使用 systemctl status mysqld.servicejournalctl -xe 命令解决。但很可惜并没有什么关键的信息供我参考,也没有能提供服务启动失败的真正原因。

解决

这时,我毫不犹豫的直接查看了 MySQL 警告日志,并发现了问题。

2020-02-02T10:15:19.935771Z 0 [ERROR] /usr/sbin/mysqld: Can't create/write to file '/var/run/mysqld/mysqld.pid' (Errcode: 2 - No such file or directory)
2020-02-02T10:15:19.935795Z 0 [ERROR] Can't start server: can't create PID file: No such file or directory
160120 15:20:20 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

问题就在 MySQL 服务在启动的时候,不能创建 pid 文件。 下面我们通过命令解决。


一、创建 /var/run/mysqld/ 目录

mkdir -p /var/run/mysqld/

二、/var/run/mysqld/ 的属主和属组还是 root,MySQL 并不能在其中创建文件,最后修改该目录的属主和属组,启动 OK!

请依次执行以下命令

ls -ld /var/run/mysqld/
chown mysql.mysql /var/run/mysqld/
/etc/init.d/mysqld start

成功!
在这里插入图片描述

发布了256 篇原创文章 · 获赞 403 · 访问量 80万+

猜你喜欢

转载自blog.csdn.net/weixin_44198965/article/details/104145043