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
字段,如果有就立即注释掉。 -
错误日志目录不存在
解决方法:使用chown
chmod
命令赋予 mysql 所有者及权限 -
selinux
的问题,如果是centos
系统,默认会开启selinux
解决方法:关闭它,打开/etc/selinux/config
,把SELINUX=enforcing
改为SELINUX=disabled
后存盘退出重启机器试试。