在MySQL中默认启用INNODB吗?

时间:2009-07-16 13:38:44

标签: mysql innodb

我正在开发一个我计划使用InnoDB的网络应用程序。但是我读到有时InnoDB默认情况下没有启用,需要更改mysql配置才能启用它...这是真的吗?由于我的网络应用程序将由客户自己安装在他们自己的网站空间,我需要确保我的应用程序尽可能兼容。如果默认情况下禁用InnoDB,那么我必须寻找解决方法。

3 个答案:

答案 0 :(得分:5)

InnoDB自MySQL 4.0以来就已存在,除了一些特殊的版本之外,它们已编译到大多数版本中 - 例如给OEM供应商提供的版本。

一些(非常便宜的)托管服务提供商选择禁用它,因为它使用了更多的内存。在大多数情况下,他们属于少数,所以你不必担心。

措辞“默认存储引擎”也不需要关注您。这只是意味着当你没有指定时会发生什么。即。

CREATE TABLE my_table (a int);
- instead of -
CREATE TABLE my_table (a int) ENGINE=INNODB;

如果从mysqldump恢复,它将保留ENGINE信息。如果InnoDB不存在,MySQL将自动替换MyISAM(除非你更改默认的sql_mode以避免这种替换)。

答案 1 :(得分:3)

您可以使用以下方法检查您的服务器是否支持InnoDB:

SHOW [STORAGE] ENGINES

我也读过:

“Windows Essentials安装程序使InnoDB成为Windows上的MySQL默认存储引擎,如果正在安装的服务器支持InnoDB。”

答案 2 :(得分:1)

自MySQL 5.5以来,Innodb是默认的存储引擎(因此它将被启用): http://dev.mysql.com/doc/refman/5.5/en/innodb-default-se.html