问题描述

启动项目时一直连不上mysql,登录虚机后执行ps -ef | grep mysql发现没有mysql进程,说明mysql没有启动
环境:centos7,MySQL Community Server 8.0.35

解决步骤

一、确认MySQL是否安装为系统服务

因为在这之前mysql都是能自动启动的,而且最近没有修改过配置,MySQL应该安装为系统服务了

systemctl list-unit-files | grep mysqld

如果没有输出说明没有安装为系统服务,我的输出

mysqld.service                                enabled 
mysqld@.service                               disabled

二、检查服务状态

systemctl status mysqld

看看 Active 状态 是不是 failed,或者有没有报错日志。

三、检查开机自启配置

systemctl is-enabled mysqld

如果不是 enabled,则需要开启:

sudo systemctl enable mysqld

四、查看日志

sudo journalctl -u mysqld -xe

可以看到启动失败,但没有明确的日志。
再查看mysql日志

 sudo tail -200f /var/log/mysqld.log

日志中可以看到

2025-09-20T00:14:06.027937Z 0 [ERROR] [MY-010259] [Server] Another process with pid 1451 is using unix socket file.
2025-09-20T00:14:06.028030Z 0 [ERROR] [MY-010268] [Server] Unable to setup unix socket lock file.
2025-09-20T00:14:06.028074Z 0 [ERROR] [MY-010119] [Server] Aborting

linux中socket也有对应的文件,mysqld 异常退出,可能没删掉,导致下次启动报错。

五、解决方案

删除多余的socket lock file

sudo rm -rf /var/lib/mysql/mysql.sock

重启mysql

sudo systemctl start mysqld