MySQL "server quit without updating PID file" 错误解决

目录

MySQL 启动时出现 The server quit without updating PID file 错误的常见原因和解决办法。

方案1:PID 文件权限不足

chown -R mysql:mysql /var/data
chmod -R 755 /usr/local/mysql/data
service mysqld restart

方案2:MySQL 进程仍在运行

检查是否有僵尸进程:

ps -ef | grep mysqld
kill -9 <PID>  # 杀死进程
service mysqld restart

方案3:mysql-bin.index 冲突

第二次安装 MySQL 时,残余数据会影响启动。进入数据目录删除:

cd /usr/local/mysql/data
rm -f mysql-bin.index
service mysqld restart

方案4:配置文件中未指定数据目录

MySQL 启动时默认使用 /etc/my.cnf,需要验证数据目录设置:

# /etc/my.cnf 中 [mysqld] 段需要有
datadir = /usr/local/mysql/data

方案5:skip-federated 字段问题

检查 /etc/my.cnf 中是否有未注释的 skip-federated 字段,若有则注释掉:

# skip-federated

方案6:错误日志目录不存在

使用命令赋予权限和所有者:

chown -R mysql:mysql /usr/local/mysql/data
chmod -R 755 /usr/local/mysql/data

方案7:SELinux 阻止(CentOS)

CentOS 默认开启 SELinux,可能阻止 MySQL 启动。修改配置:

# 编辑 /etc/selinux/config
SELINUX=disabled

# 重启机器
reboot

快速诊断

查看 MySQL 错误日志获得更详细信息:

tail -f /usr/local/mysql/data/error.log

根据具体错误信息选择对应的解决方案。

#mysql