CentOS中无法启动
小于 1 分钟mysql
概述
通过命令 service mysqld start 或者 systemctl start mysqld 都无法启动,使用 systemctl status mysqld 显示如下
mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: failed (Result: start-limit) since Tue 2025-02-04 16:27:49 CST; 12s ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Process: 17561 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=1/FAILURE)
Process: 17533 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
Failed to start MySQL Server.
Unit mysqld.service entered failed state.
mysqld.service failed.
mysqld.service holdoff time over, scheduling restart.
Stopped MySQL Server.
start request repeated too quickly for mysqld.service
Failed to start MySQL Server.
Unit mysqld.service entered failed state.
mysqld.service failed.
通过 google 搜索很多帖子提示要修改 mysql 的配置文件 /etc/my.cnf 中的 datadir 和 socket ,根据配置文件找到对应的目录下面果然没有文件 mysql.sock ,其实被误导了,服务没有启动自然没有文件 mysql.sock 。正确的排除错误的流程是:
- 检查服务器内存、硬盘等是否有足够的剩余空间
- 通过命令
/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid查看输出或错误提示,如下

可知是配置文件中在配置项目上使用了分号,将其去掉再次启动则成功
