mysql5.5与mysq 5.6中禁用innodb引擎的方法

时间:2024-01-21 13:55:42 

今天发现有一个备份的mysql数据文件夹异常变大,一查发现是多了三个文件:ibdata1 ib_logfile0 ib_logfile1,前者18m,后两个各5m,原来是迁移的时候从mysql5.0迁移到了5.5,而5.5关闭innodb启动不起来,于是我就开启了innodb,由于innodb会默认增加这几个数据文件和日志文件,导致变大。尝试设置数据文件的大小,结果告诉我最小10m,还是太大,于是探索关闭innodb的方法。

看日志发现说由于mysql程序升级了,需要运行mysql_upgrade升级一下mysql里面的数据库,这个比较简单,和mysql命令用法是一样的,运行一遍就ok了。然后发现还是无法关闭innodb,很奇怪,查了下发现原来mysql5.5默认使用innodb了,所以无法简单的关闭掉,还要设置一下默认使用的引擎为myisam才可以,在my.cnf里加上如下两句:


default-storage-engine=MYISAM
innodb=OFF



重启mysql,然后删掉那三个讨厌的文件即可。

MySQL 5.6 禁用INNODB

INNODB是MySQL被ORACLE收购后开发的,支持事务和行级锁等高级功能,但是并不是所有人都需要INNODB的,对大部分人来说,以前的MYISAM引擎就够了,一般会选择将默认引擎改为MYISAM,但是INNODB还是会耗费内存和硬盘,这时候,就需要把INNODB彻底禁用。

在以前的MySQL中,一般可以这么设置就行了:


default-storage-engine=MYISAM
skip-innodb



但是在最新的MySQL5.6里,这么设置是没法启动的,需要再增加一句设置:


default-tmp-storage-engine=MYISAM



不仅如此,还需要添加以下配置,否则程序会很容易退出的:


loose-innodb-trx=0
loose-innodb-locks=0
loose-innodb-lock-waits=0
loose-innodb-cmp=0
loose-innodb-cmp-per-index=0
loose-innodb-cmp-per-index-reset=0
loose-innodb-cmp-reset=0
loose-innodb-cmpmem=0
loose-innodb-cmpmem-reset=0
loose-innodb-buffer-page=0
loose-innodb-buffer-page-lru=0
loose-innodb-buffer-pool-stats=0
loose-innodb-metrics=0
loose-innodb-ft-default-stopword=0
loose-innodb-ft-inserted=0
loose-innodb-ft-deleted=0
loose-innodb-ft-being-deleted=0
loose-innodb-ft-config=0
loose-innodb-ft-index-cache=0
loose-innodb-ft-index-table=0
loose-innodb-sys-tables=0
loose-innodb-sys-tablestats=0
loose-innodb-sys-indexes=0
loose-innodb-sys-columns=0
loose-innodb-sys-fields=0
loose-innodb-sys-foreign=0
loose-innodb-sys-foreign-cols=0



摘自http://docs.oracle.com/cd/E17952_01/refman-5.6-en/innodb-turning-off.html

另外MYSQL 5.6 比 5.5占用了更多的物理内存,虚拟内存跟5.5使用差不多(5.5也是一个虚拟内存消耗大户)。性能上比5.5提升了30%左右(根据官方文档,没作具体测试)。

标签:innodb,引擎
0
投稿

猜你喜欢

  • SQL server 表数据改变触发发送邮件的方法

    2024-01-23 02:15:48
  • mysql installer web community 5.7.21.0.msi安装图文教程

    2024-01-25 02:35:23
  • python将多个py文件和其他文件打包为exe可执行文件

    2021-07-02 05:36:40
  • 找到个很好的例子导出excel的

    2008-09-28 13:12:00
  • phpMyAdmin安装配置方法

    2009-09-09 20:15:00
  • 利用python爬取有道词典的方法

    2021-07-08 04:42:05
  • 将imagenet2012数据为tensorflow的tfrecords格式并跑验证的详细过程

    2024-01-01 12:04:35
  • SQLServer 循环批处理

    2024-01-20 02:39:46
  • 某年第一周开始日期sql实现方法

    2012-02-25 20:02:30
  • golang NewRequest/gorequest实现http请求的示例代码

    2024-04-30 10:03:26
  • 微软建议的ASP性能优化28条守则(8)

    2005-05-30 16:04:00
  • 解决Unable to access 'https://gitee.com/自己的项目/': Could not resolve host: gitee.com问题

    2023-11-06 06:47:59
  • GitHub AI编程工具copilot在Pycharm的应用

    2021-11-02 06:33:32
  • 微信昵称带符号导致插入MySQL数据库时出错的解决方案

    2024-01-20 23:40:20
  • python搭建微信公众平台

    2022-05-24 00:14:09
  • python利用正则表达式提取字符串

    2021-12-08 15:13:29
  • 如何使用Python 打印各种三角形

    2023-10-27 00:12:48
  • Python中requests库的用法详解

    2022-04-12 07:05:16
  • js中apply和Math.max()函数的问题及区别介绍

    2024-05-09 10:39:14
  • Python使用稀疏矩阵节省内存实例

    2021-03-31 17:58:19
  • asp之家 网络编程 m.aspxhome.com