Mysql学习之--Mysql启动失败案例
系统环境:
操作系统:Linux RH6
数据库: Mysql 5.6
在启动mysql server时,启动失败
[[email protected] mysql]# service mysql start
Starting MySQL...The server quit without updating PID file [FAILED]b/mysql/ogg.pid).
查看mysql错误日志:
[[email protected] mysql]# more ogg.err
140928 10:32:59 mysqld_safe mysqld from pid file /var/lib/mysql/ogg.pid ended
140928 10:35:54 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
140928 10:35:54 InnoDB: The InnoDB memory heap is disabled
140928 10:35:54 InnoDB: Mutexes and rw_locks use GCC atomic builtins
140928 10:35:54 InnoDB: Compressed tables use zlib 1.2.3
140928 10:35:54 InnoDB: Using Linux native AIO
140928 10:35:54 InnoDB: CPU does not support crc32 instructions
140928 10:35:54 InnoDB: Initializing buffer pool, size = 128.0M
140928 10:35:54 InnoDB: Completed initialization of buffer pool
140928 10:35:54 InnoDB: highest supported file format is Barracuda.
140928 10:35:54 InnoDB: 128 rollback segment(s) are active.
140928 10:35:54 InnoDB: Waiting for the background threads to start
140928 10:35:55 InnoDB: 1.2.4 started; log sequence number 1604733
/usr/local/mysql/bin/mysqld: File ‘/var/lib/mysql/mysql-bin.000012‘ not found (Errcode: 2)
140928 10:35:55 [ERROR] Failed to open log (file ‘/var/lib/mysql/mysql-bin.000012‘, errno 2)
140928 10:35:55 [ERROR] Could not open log file
140928 10:35:55 [ERROR] Can‘t init tc log
140928 10:35:55 [ERROR] Aborting
应该是在前面的操作中,删除了mysql日志 !!!
查看系统目录:
[[email protected] mysql]# ls -lh
-rw-rw---- 1 mysql mysql 56 Sep 17 14:03 auto.cnf -rw-rw---- 1 mysql mysql 18M Sep 28 10:35 ibdata1 -rw-rw---- 1 mysql mysql 5.0M Sep 28 10:35 ib_logfile0 -rw-rw---- 1 mysql mysql 5.0M Sep 17 13:51 ib_logfile1 -rw-rw---- 1 mysql mysql 32 Sep 26 17:35 master-log-bin.index drwx------ 2 mysql root 4.0K Sep 17 13:51 mysql -rw-rw---- 1 mysql mysql 235 Sep 28 10:21 mysql-bin.index -rw-rw---- 1 mysql root 47K Sep 28 10:35 ogg.err drwx------ 2 mysql mysql 4.0K Sep 17 13:51 performance_schema drwx------ 2 mysql root 4.0K Sep 26 15:33 tes
删除mysql-bin.index文件,重新启动
[[email protected] mysql]# rm mysql-bin.index
rm: remove regular file `mysql-bin.index‘? y
[[email protected] mysql]# service mysql start
Starting MySQL.. [ OK ]
启动成功,问题解决!!!
附录:
mysql 报错:MYSQL:The server quit without updating PID file。以下是可能的原因与解决方法
1.可能是/usr/local/mysql/data/rekfan.pid文件没有写的权限
解决方法 :给予权限,执行 “chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data” 然后重新启动mysqld!
2.可能进程里已经存在mysql进程
解决方法:用命令“ps -ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9 进程号”杀死,然后重新启动mysqld!
3.可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。
解决方法:去mysql的数据目录/data看看,如果存在mysql-bin.index,就赶快把它删除掉吧,它就是罪魁祸首了。
4.mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir)。
解决方法:请在[mysqld]下设置这一行:datadir = /usr/local/mysql/data
5.skip-federated字段问题
解决方法:检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段,如果有就立即注释掉吧。
6.错误日志目录不存在
解决方法:使用“chown” “chmod”命令赋予mysql所有者及权限
7.selinux惹的祸,如果是centos系统,默认会开启selinux
解决方法:关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试。