Couldn’t start MySQL问题解决

正常运行的xampp突然不能启动mysql了,显示错误如下:

XAMPP: Starting Apache with SSL (and PHP5)…
XAMPP: Starting MySQL…
XAMPP:  Couldn’t start MySQL!
XAMPP: Starting ProFTPD…
XAMPP for Linux started.

找到mysql的日志文件,用tail命令查看发现,

InnoDB: Your database may be corrupt or you may have copied the InnoDB
InnoDB: tablespace but not the InnoDB log files. See
InnoDB: http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html
InnoDB: for more information.
150105 21:45:51 InnoDB: Error: page 129480 log sequence number 2704672930
InnoDB: is in the future! Current system log sequence number 824740184.
InnoDB: Your database may be corrupt or you may have copied the InnoDB
InnoDB: tablespace but not the InnoDB log files. See
InnoDB: http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html
InnoDB: for more information.
网上查了各种解决方案,都做了尝试:

1. 把ib_logfile0和ib_logfile1重命名,然后重启试试。

试过了,不行。

2. 如果觉得数据无所谓,而是只要可以正常的使用数据库。建议你把ibdata和日志文件都删掉。重启就可以正常运转了!

数据蛮重要的,不能就这么删除了。

3. 可能是InnoDB数据文件损坏了,先不要继续操作了。先把数据和配置文件备份一下防止乱弄把数据全弄坏了,然后再用副本试着恢复。
关于InnoDB的数据恢复 错误日志提示参照下面的网址:
http://dev.mysql.com/doc/refman/5.1/en/forcing-innodb-recovery.html
你可以试着设定不同的innodb_force_recovery系统变量来重新启动MySQL,看看是不是有可以启动起来的值。

试过了,太复杂,都没什么效果。

本来想放弃的时候,想到了之前也遇到过的类似莫名其妙的问题。服务器没做任何改动,突然就不能启动了。之前都是日志文件太大,把磁盘占满了。这次会不会也是同样的问题。

果断的输入df -hl命令试试,Avail 0。可用空间为0,果然是磁盘太满了,先删点试试吧。

du -bs dir_name命令,查看到底哪个目录最大了,发现是lampp/var/mysql/下的错误日志文件太大了,达16G。果断删除后,重启,问题解决。

2015.9.15补充:

又遇到mysql无法启动问题,上面方法都试过了,不行。

错误日志是: Plugin ‘InnoDB’ registration as a STORAGE ENGINE failed.

主要是innodb日志大小不对造成的,修改了my.cnf文件

innodb_buffer_pool_size=512M
innodb_log_file_size=128M

把以上几个参数调大点,然后把ib_logfile0,ib_logfile1这两个文件删除后,再重启服务就好了。

贾定强微信

微信扫一下,或点击链接添加好友