ERROR!MySQL serverPID file could not be found! Starting MySQLERROR! The server quit without updating

文章目录

    • mysql 启动报错总结
    • 出现问题的可能性
      • 可能是/data/mysql数据目录mysql用户没有权限(修改数据目录的权限)
      • 可能进程里已经存在mysql进程
      • 可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。
      • mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]下有没有指定数据目录(datadir)。
      • skip-federated字段问题
      • selinux惹的祸,如果是centos系统,默认会开启selinux
      • 启动失败注意检查数据目录的权限,要与mysql程序运行用户权限一致。
      • MYSQL数据库配置文件错误配置
  • 总结

mysql 启动报错总结

  • 本次报错

    [root@localhost mysql]# /etc/init.d/mysqld restart
     ERROR! MySQL server PID file could not be found!
    Starting MySQL.. ERROR! The server quit without updating PID file (/data/mysql/localhost.localdomain.pid).
    [root@localhost mysql]#
    

出现问题的可能性

可能是/data/mysql数据目录mysql用户没有权限(修改数据目录的权限)

解决方法 :给予权限,执行 
[root@localhost mysql]# chown -R mysql:mysql /data/mysql/
[root@localhost mysql]# chown -R mysql:mysql /usr/local/lamp/mysql/
 然后重新启动mysqld

可能进程里已经存在mysql进程

   解决方法:用命令“ps -ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9  进程号”杀死,然后重新启动mysqld!

[root@localhost mysql]# ps -e|grep mysql
115949 ?        00:00:00 mysqld_safe
116236 ?        00:00:02 mysqld
[root@localhost mysql]# kill -9 115949
[root@localhost mysql]# kill -9 116236

可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。

 解决方法:去mysql的二进制日志目录看看,如果存在mysql-binlog.index,就赶快把它删除掉吧,然后重启
[root@localhost mysql]# cd /data/mysql/
[root@localhost mysql]# ls
ibdata1                    mysql             mysql-bin.000006  mysql-bin.000012  mysql-bin.000018    test
ib_logfile0                mysql-bin.000001  mysql-bin.000007  mysql-bin.000013  mysql-bin.000019    wordpress
ib_logfile1                mysql-bin.000002  mysql-bin.000008  mysql-bin.000014  mysql-bin.000020                 
mysql-binlog.index
……
[root@localhost mysql]# rm -f  mysql-binlog.index

解决方法:去mysql的二进制日志目录看看,如果存在mysql-binlog.index,就赶快把它删除掉吧

mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]下有没有指定数据目录(datadir)。

解决方法:请在[mysqld]下设置这一行:datadir = /data/mysql

skip-federated字段问题

解决方法:检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段,如果有就立即注释掉吧。

selinux惹的祸,如果是centos系统,默认会开启selinux

解决方法:先临时改为警告模式:[root@www php] # setenforce 0
然后打开 /etc/sysconfig/selinux ,把SELINUX=enforcing改为SELINUX=disabled

启动失败注意检查数据目录的权限,要与mysql程序运行用户权限一致。

[root@localhost mysql]# chown -R mysql:mysql /usr/local/lamp/mysql/
 然后重新启动mysqld

MYSQL数据库配置文件错误配置

vim /etc/my.cnf

总结

此次做实验,就是二次安装导致,数据库启动不了,所以残余mysql-binlog.index文件,重启就不报错了

你可能感兴趣的:(linux云计算文档)