【发布时间】:2010-12-19 07:13:51
【问题描述】:
我想使用 InnoDB 作为我所有表和数据库的存储引擎。是否可以运行命令来更改当前表的类型以使用 InnoDB 而不是 MyISAM?
另外,有没有办法将此设置为默认值,这样我就不必再这样做了?
【问题讨论】:
标签: mysql
我想使用 InnoDB 作为我所有表和数据库的存储引擎。是否可以运行命令来更改当前表的类型以使用 InnoDB 而不是 MyISAM?
另外,有没有办法将此设置为默认值,这样我就不必再这样做了?
【问题讨论】:
标签: mysql
更改现有表的存储引擎:
ALTER TABLE my_table ENGINE = InnoDB;
将 InnoDB 设置为默认值:
通常,这是 MyISAM,但您可以通过使用
--default-storage-engine或--default-table-type服务器启动选项,或通过在 my.cnf 配置文件中设置default-storage-engine或default-table-type选项来更改它。
【讨论】:
以下文章将告诉您如何设置默认存储引擎,如何在 CREATE TABLE 命令期间显式使用特定引擎,以及如何更改现有表的存储引擎:
http://dev.mysql.com/doc/refman/5.1/en/storage-engine-setting.html
【讨论】:
如果您使用的是 mysql 工作台,则有一个脚本菜单选项可以更改所有表的引擎。
选择插件>实用程序>更改所有表的存储引擎。
【讨论】:
今天在最新版本的 MySQL 数据库中,默认情况下 InnoDB 作为默认数据库引擎。 我们可以通过以下方式检查:(在 CMD 中)
mysql> 显示引擎;
或
mysql> select * from information_schema.engines;
【讨论】: