- 时间:2022-05-29 09:13 编辑: 来源: 阅读:
- 扫一扫,手机访问
摘要:mysql执行sql文件报错Error: Unknown storage engine‘InnoDB’的解决方法
[b]发现问题[/b]
最近在工作中遇到一个问题,在运行了一个innoDB类型的sql文件,报了Error: Unknown storage engine 'InnoDB'错误,网上查了很多方法,但是都没办法真正解决我的问题,后来解决了,在这里总结一下过程,方便有遇到类似情况的朋友们可以有的参照,下面话不多说,来一起看看详细的介绍吧。
[b]解决过程:[/b]
我用的是MySql5.5版本的数据库。出现以上错误的时候先用命令-》show engines;查看一下引擎详情:
[img]http://files.jb51.net/file_images/article/201707/2017728102350167.png?2017628102358[/img]
发现并没有innodb这个条目:
然后我们查看日志文件:
不知道windowns日志文件位置的可以用命令[code]->show variables like '%error%';[/code]查看
[img]http://files.jb51.net/file_images/article/201707/2017728102416711.png?2017628102424[/img]
然后:在日志中我们发现:
[img]http://files.jb51.net/file_images/article/201707/2017728102442001.png?2017628102449[/img]
错误在于ibdata1文件内容有误。
接下来,我们关闭数据服务,删除安装目录下的ibadata1文件,和错误日志同目录下的两个文件:看下图
[img]http://files.jb51.net/file_images/article/201707/2017728102544707.png?2017628102551[/img]
删除成功后,更改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
其中[code]innodb_flush_method = normal[/code]是最后补进去的,其他的参数原来配置文件中都有。
更改完成后,保存并从新启动mysql服务。
再次执行[code]-》show engines;[/code]
[img]http://files.jb51.net/file_images/article/201707/2017728102611571.png?2017628102619[/img]
发现innoDB已经可以使用了,这样就表示成功了。
再次去运行刚才的文件就能完美运行了。
[b]总结[/b]
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对编程素材网的支持。