问题记录之mysql:Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
今天服务器连接mysql发现一直超时(查出的原因是磁盘满了)清了磁盘以后,mysqld.service
还是无法启动
执行命令及报错如下:(注意,因为磁盘满的问题,我的mysql并不是正常途径关闭的)
控制进程以错误代码退出导致无法以正常的方式启动它了,
排查思路:
报错内容:Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
1. 运行以下命令来检查状态mysqld.service
:systemctl status mysqld.service
2. 此外,可以使用该journalctl
命令检查系统日志中是否有任何相关的错误消息。运行以下命令:journalctl -xe
此命令将显示系统日志,包括在启动或执行mysqld.service
. 查找有关可能导致服务失败的原因的相关错误消息或线索。
通过检查这些命令的输出,您应该能够收集有关导致失败的特定错误的更多信息mysqld.service
。
还有就是查一下mysql的启动日志 :tailf /var/log/mysqld.log
一些参考资料:https://stackoverflow.com/questions/42317139/job-for-mysqld-service-failed-see-systemctl-status-mysqld-service
https://stackoverflow.com/questions/11990708/error-cant-connect-to-local-mysql-server-through-socket-var-run-mysqld-mysq/26460819#26460819
如果你是新装的mysql,一些处理参考:
- 首先,找到(在终端中使用“sudo find / -type s”)您的
mysql.sock
文件所在的位置。我的位置是: - 启动终端并发布
sudo Nautilus
这将以超级用户权限启动你的文件管理器 - 从 Nautilus 导航到
mysql.sock
文件所在的 位置 - 右键单击该文件并选择建立链接
- 将链接文件重命名为
mysqld.sock
然后右键单击该文件并剪切它 - 转到
/var/run
并创建一个名为的文件夹mysqld
并输入它 - 现在右键单击并粘贴链接文件
- 现在将在/var/run/mysqld/mysqld.sock 处拥有一个
mysqld.sock
文件
问题解决:
在我的操作环境中我的mysqld.sock文件是有的,/etc/my.cnf 路径下的socket引用也是正常的,查询下来是这个文件的权限被修改了,变成了root权限,修改权限之后重启即可
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了