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文件,重启就不报错了