MySQL 强行kill后启动失败问题:[ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
0、背景
版本信息:
MySQL:5.5.47
OS:debian7
更新MySQL配置需要重启,restart 显示failed,于是kill -9,然后启动
报错:
[ERROR] Plugin 'InnoDB' init function returned error.
[ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
1、问题及解决
由于加载InnoDB信息失败,所以报错并且起不来;
网上解决方法比较多(成本由低到高):
1.1、调大innodb缓存大小重启:
innodb_buffer_pool_size=10M
1.2、删掉 ib_logfile* 文件并重启:
rm /MYSQL_DATA/ib_logfile*
当然更建议先 mv 到其他目录
1.3、最不得已做法,重做MySQL:
a、先在配置文件设置 innodb_force_recovery = 1 (从1尝试到6),在强行重启MySQL,起来后是只读模式,把所有库表 dump 出来;
b、然后移除数据目录这几个文件:
rm /MYSQL_DATA/ibdata1*
rm /MYSQL_DATA/ib_logfile*
c、去掉配置文件 innodb_force_recovery ,再重启发现能起来了,但是数据全空,再把dump出来的数据导回;
2、其他
大库表这个过程会挺痛苦,不是并发导出导入的话 一般情况下系统负载(IO/CPU)不高,导出大概40~50MB/s,对比之前导入会4~5MB/s,配置好点的机器会快点;(在没优化相关配置的情况下))
f、参考
https://stackoverflow.com/questions/26439742/getting-error-plugin-innodb-registration-as-a-storage-engine-failed-when-sta
https://blog.csdn.net/u012207077/article/details/19122495
https://www.cnblogs.com/esileme/p/7606711.html