INNODB是MySQL被ORACLE收购后开发的,支持事务和行级锁等高级功能,但是并不是所有人都需要INNODB的,对大部分人来说,以前的MYISAM引擎就够了,一般会选择将默认引擎改为MYISAM,但是INNODB还是会耗费内存和硬盘,这时候,就需要把INNODB彻底禁用。
一、MySQL引擎更改
5.6以前的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
二、确认 MySQL 服务器 是否启用 InnoDB 存储引擎
1.SHOW ENGINES; "InnoDB" 对应的 "Support"等于 “NO” ,表示未启用 InnoDB 存储引擎。
2.“SHOW CREATE TABLE 表名” 查看
3.SHOW TABLE STATUS from 数据库库名 where Name='表名';
4.mysqlshow -u 数据库登录帐号 -p '数据库登录帐号密码' --status 数据库库名 表名
三、修改mysql存储引擎
alter table 表名 type = myisam;