Mysql 启动不成功,一直在执行中,最终报错:The server quit without updating PID file
执行 mysql.server restart 进行重启,报错:ERROR! MySQL server PID file could not be found!
原因分析
通常出现这种情况是由于以下几个原因:
-
可能是
/usr/local/mysql/data/mysql.pid文件没有写的权限
解决方法 :给予权限,执行chown -R mysql:mysql /var/data和chmod -R 755 /usr/local/mysql/data然后重新启动 mysql -
可能进程里已经存在 mysql 进程
解决方法:用命令ps -ef|grep mysqld查看是否有 mysqld 进程,如果有使用kill -9 进程号杀死,然后重新启动 mysqld。本人为此原因:
分别执行kill -9 16821和kill -9 16934,然后执行mysql.server start重启 mysql -
可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。
解决方法:去 mysql 的数据目录/data看看,如果存在mysql-bin.index,就将它删除。 -
mysql 在启动时没有指定配置文件时会使用
/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir)。
解决方法:请在[mysqld]下设置这一行:datadir = /usr/local/mysql/data -
skip-federated字段问题
解决方法:检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段,如果有就立即注释掉。 -
错误日志目录不存在
解决方法:使用chownchmod命令赋予 mysql 所有者及权限 -
selinux的问题,如果是centos系统,默认会开启selinux
解决方法:关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试。