mysql无法启动解决方法

解决方法
1.不要过度操作
当MySQL 挂掉后,/home/seekcy/database/watchdog.sh 会定时进行检测重新启动,如果没有启动那么多少是出现了异常情况了,这个时候不要过度操作。例如:重启所有服务;重启服务器;等这种只会造成更严重的情况
2.查看MySQL启动异常日志
如果启动异常,mysql会在 /home/seekcy/database/mysql/mysqld.log 中输出详细的错误原因,可以查看具体的原因,通过 ./mysql.server start 命令启动输出的错误信息是比较片面的,在日志中能够看到具体原因。

3.MySQL的配置文件加载顺序
mysql调用my.cnf的顺序为/etc/my.cnf——~/.my.cnf。只要在/etc中存在my.cnf,则优先调用此配置文件,如果没有将按照顺序依次查找。
正常情况下,我们MySQL的 .pid 文件是 /home/seekcy/database/mysql/data/joysuch.pid 。如果提示找不到其他的路径的pid 文件那么可能加载了/etc/my.cnf 这个文件,没有加载我们的 /home/seekcy/database/mysql/my.cnf 导致的。可以通过mv /etc/my.cnf /etc/my.cnf.bak 来解决。例如上图错误就是这个问题引起的。
4.mysql.sock.lock文件损坏
mv mysql.sock.lock,把这个文件改个名字
5.mysql.sock的软连接
在安装脚本中会给mysql的mysql.sock建立软连接,有时候也会影响mysql的启动(正常不会)。如果MySQL 已经挂掉了,那么可以删除掉 /tmp/mysql.sock 等MySQL 正常启动后再进行重新软连接
ln -s /home/seekcy/database/mysql/mysql.sock /tmp/mysql.sock
6.MySQL的redo log文件被破坏
MySQL被破坏后无法启动问题修复,可以通过修改mysql配置文件my.cnf强制启动MySQL把数据备份一下,防止数据丢失。
如果想强制重启需要 在/home/seekcy/database/mysql/my.cnf 最后添加一行
innodb_force_recovery = 6
然后启动mysql就能启动成功了

恢复步骤:
6.1 强制重启后,依次使用备份命令备份各数据库。
6.2 重新安装数据库
5.3 把备份后的数据库各个库,使用命令进行恢复。
6.如果以上不能解决问题请联系问题小组

转载请注明作者和出处,并添加本页链接。
原文链接: //svn.seekcy.com:33382/443