完美解决mysql启动后随即关闭的问题(ibdata1⽂件损坏
mysql数据库损坏修复导致)
机房⼀台服务器上的mysql运⾏⼀段时间了,突然出现了⼀个很奇怪的现象:重启后⽆法恢复了!准确情况是:启动mysql后随即就⼜关闭了。
查看mysql错误⽇志如下:
分析⽇志后发现,数据库⽆法重启的原因是因为ibdata1⽂件损坏,重启后⽆法正常恢复。
解决办法:
需要跳过恢复步骤,修改myf⽂件,在myf中的[mysqld]中添加:
innodb_force_recovery = 6
innodb_purge_threads = 1
解释:
innodb_force_recovery可以设置为1-6,⼤的数字包含前⾯所有数字的影响。
具体数字对应的含义:
1-----(SRVFORCEIGNORECORRUPT):忽略检查到的corrupt页。
2-----(SRVFORCENOBACKGROUND):阻⽌主线程的运⾏,如主线程需要执⾏full purge操作,会导致crash。
3-----(SRVFORCENOTRXUNDO):不执⾏事务回滚操作。
4-----(SRVFORCENOIBUFMERGE):不执⾏插⼊缓冲的合并操作。
5-----(SRVFORCENOUNDOLOGSCAN):不查看重做⽇志,InnoDB存储引擎会将未提交的事务视为已提交。
6-----(SRVFORCENOLOG_REDO):不执⾏前滚的操作。
再次启动mysql就ok了~
如果还⽆法启动,则需要删除数据⽬录datafile下的 ibdata1,ib_logfile*等⽂件。
启动后导出MySQL数据库,重新恢复即可。
以上这篇完美解决mysql启动后随即关闭的问题(ibdata1⽂件损坏导致)就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。