栏目导航: 首页 > 数据库类 > MySQL数据库 > 内容

MYSQL 5.6中禁用INNODB引擎

www.hx99.net    时间: 2015-05-01    阅读: 次     整理: 华西安全网

为什么突出“真正”呢?原因很简单,我去百度,谷歌搜索,搜出来的一大堆方法都是不靠谱的,做不到禁用,更会使你的MySQL服务器启动不起来。先来看看网上的办法,大致分为两步:一、设置默认的存储引擎为MyISAM;二、设置禁用InnoDB。

下面说说网上的配置代码,很简单,两句:

  1. default-storage-engine=MyISAM
  2. loose-skip-innodb

更有坑爹的是这样的:

  1. default-storage-engine=MyISAM
  2. skip-innodb

殊不知skip-innodb已经是很久以前的配置参数了,5.5/5.6以后就改成loose-skip-innodb了!可是网上还是有很多人照搬照抄别人的教程,也不去实践下,误人子弟。

其实上述两种方案都是不对的,配置后MySQL都是无法正常启动的,查看主要错误日志如下:

  1. 2013-09-24 18:39:40 18171 [Note] Plugin 'InnoDB' is disabled.
  2. 2013-09-24 18:39:40 18171 [Note] Plugin 'FEDERATED' is disabled.
  3. 2013-09-24 18:39:40 18171 [ERROR] Unknown/unsupported storage engine: InnoDB
  4. 2013-09-24 18:39:40 18171 [ERROR] Aborting

根据这段错误日志,搜索到的还是很多错误的配置方法,直到我找到了官方的文档才解决,具体文档请戳:http://docs.oracle.com/cd/E17952_01/refman-5.6-en/innodb-turning-off.html。真正有效的禁用InnoDB的配置代码如下:

  1. default-storage-engine=MyISAM
  2. default-tmp-storage-engine=MYISAM
  3. loose-skip-innodb

按照官方文档,仅上面配置的话MySQL可能会意外崩溃,我们需要加入更多配置禁用相关插件来防止其崩溃,所以完整的配置贴出来:

  1. default-storage-engine=MyISAM
  2. default-tmp-storage-engine=MYISAM
  3. loose-skip-innodb
  4.  
  5. loose-innodb-trx=0
  6. loose-innodb-locks=0
  7. loose-innodb-lock-waits=0
  8. loose-innodb-cmp=0
  9. loose-innodb-cmp-per-index=0
  10. loose-innodb-cmp-per-index-reset=0
  11. loose-innodb-cmp-reset=0
  12. loose-innodb-cmpmem=0
  13. loose-innodb-cmpmem-reset=0
  14. loose-innodb-buffer-page=0
  15. loose-innodb-buffer-page-lru=0
  16. loose-innodb-buffer-pool-stats=0
  17. loose-innodb-metrics=0
  18. loose-innodb-ft-default-stopword=0
  19. loose-innodb-ft-inserted=0
  20. loose-innodb-ft-deleted=0
  21. loose-innodb-ft-being-deleted=0
  22. loose-innodb-ft-config=0
  23. loose-innodb-ft-index-cache=0
  24. loose-innodb-ft-index-table=0
  25. loose-innodb-sys-tables=0
  26. loose-innodb-sys-tablestats=0
  27. loose-innodb-sys-indexes=0
  28. loose-innodb-sys-columns=0
  29. loose-innodb-sys-fields=0
  30. loose-innodb-sys-foreign=0
  31. loose-innodb-sys-foreign-cols=0

OK,添加好之后再重启MySQL服务器,然后你就能看到InnoDB已经被彻底禁用了,至于怎么查看MySQL支持的引擎,简单的可以在phpMyAdmin里面查看,也可以通过命令行的形式查看。

  1. show engines;

显示下图,注意红框内的,如果有,说明成功了:

禁用完成

 
本文来源:华西安全网[http://www.hx99.net]
发表评论】【告诉QQ好友】【错误报告】【加入收藏】【关闭