You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

重启后mysql.service启动失败,请求故障排查与解决方法

解决MySQL(MariaDB)重启后启动失败的问题

先看看你提供的服务状态输出,已经明确是启动失败,退出状态1:

● mysql.service - LSB: 启动和停止mysql数据库服务器守护进程
已加载:已加载(/etc/init.d/mysql; 异常; 厂商预设: 启用)
活动状态:失败(结果:退出码),自2018年1月13日 周六 00:12:28 EST起;10分钟前
文档:man:systemd-sysv-generator(8)
进程:3463 ExecStart=/etc/init.d/mysql start(代码=已退出,状态=1/FAILURE)
1月13日 00:11:57 miguel systemd[1]: 正在启动LSB: 启动和停止mysql数据库服务器守护进程...
1月13日 00:11:58 miguel mysql[3463]: * 启动MariaDB数据库服务器mysqld
1月13日 00:12:28 miguel mysql[3463]: ...失败!
1月13日 00:12:28 miguel systemd[1]: mysql.service: 控制进程已退出,代码=已退出状态=1
1月13日 00:12:28 miguel systemd[1]: 启动LSB: 启动和停止mysql数据库服务器守护进程失败。
1月13日 00:12:28 miguel systemd[1]: mysql.service: 单元进入失败状态。
1月13日 00:12:28 miguel systemd[1]: mysql.service: 失败原因:'exit-code'。

这个状态只告诉我们启动失败,但没说具体原因,得从这几个方向排查:

  • 查看错误日志:这是最关键的一步,MariaDB的错误日志一般在/var/log/mysql/error.log或者/var/log/mariadb/mariadb.log,执行命令tail -n 50 /var/log/mysql/error.log,看看里面有没有具体的报错信息,比如表损坏、配置错误、权限问题等。
  • 检查配置文件语法:有时候重启后配置文件被修改或者有语法错误,导致启动失败。可以用mysqld --validate-config来检查my.cnf(通常在/etc/mysql/或者/etc/目录下)的语法是否正确,有错误会直接提示。
  • 验证数据目录权限:MySQL的数据目录(默认是/var/lib/mysql)的所有者必须是mysql用户和组,执行ls -ld /var/lib/mysql查看权限,如果不是,用chown -R mysql:mysql /var/lib/mysql来修复权限。
  • 检查磁盘空间:如果磁盘满了,MariaDB也无法启动,执行df -h查看系统磁盘使用情况,特别是数据目录所在的分区。
  • 手动启动看详细输出:直接执行启动脚本并开启 verbose 模式,/etc/init.d/mysql start --verbose,或者用mysqld_safe --verbose启动,这样能看到更详细的启动过程和错误信息,帮助定位问题。

先按这些步骤排查,一般都能找到具体的失败原因,然后针对性解决就行。

内容的提问来源于stack exchange,提问作者gab

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:06:20