解决mydql执行sql文件时报Error: Unknown storage engine 'InnoDB'的错误。

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

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

解决mydql执行sql文件时报Error: Unknown storage engine 'InnoDB'的错误。

发现并没有innodb这个条目:

然后我们查看日志文件:

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

解决mydql执行sql文件时报Error: Unknown storage engine 'InnoDB'的错误。

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

解决mydql执行sql文件时报Error: Unknown storage engine 'InnoDB'的错误。

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

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

解决mydql执行sql文件时报Error: Unknown storage engine 'InnoDB'的错误。

删除成功后,更改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;

解决mydql执行sql文件时报Error: Unknown storage engine 'InnoDB'的错误。

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

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