解决MySQL执行SQL文件时报Error: Unknown storage engine 'InnoDB'的错误

我运行了一个innoDB类型的sql文件,报了Error: Unknown storage engine 'InnoDB'错误,网上查了很多方法,但是都没办法真正解决我的问题,后来解决了,在这里总结一下过程方便有遇到类似情况的可以有的参照。

我用的是MySQL5.5版本的数据库。出现以上错误的时候先用命令-》show engines;查看一下引擎详情:

发现并没有innodb这个条目:

然后我们查看日志文件:

不知道windowns日志文件位置的可以用命令->show variables like '%error%';查看

然后:在日志中我们发现:

错误在于ibdata1文件内容有误。

接下来,我们关闭数据服务,删除安装目录下的ibadata1文件,和错误日志同目录下的两个文件:看下图

删除成功后,更改my.ini文件参数。

innodb_buffer_pool_size        = 256M
innodb_log_file_size          = 256M
innodb_thread_concurrency      = 16
innodb_flush_log_at_trx_commit = 2
innodb_flush_method            = normal

其中innodb_flush_method = normal是最后补进去的,其他的参数原来配置文件中都有。

更改完成后,保存并从新启动mysql服务。

再次执行-》show engines;

发现innoDB已经可以使用了,这样就表示成功了。

再次去运行刚才的文件就能完美运行了。

猜你喜欢

转载自www.linuxidc.com/Linux/2017-10/147817.htm