要创建 InnoDB 表,可以使用 CREATE TABLE 语句
CREATE TABLE t1 (a INT, b CHAR (20), PRIMARY KEY (a)) ENGINE=InnoDB;
如果你的 MySQL 实例将 InnoDB 定义为默认存储引擎 ( 默认情况下为默认存储引擎 ),则可以无需指定 ENGINE = InnoDB 子句。
如果你想要查询当前 MySQL 实例的默认存储引擎,可以使用下面的语句
mysql> SELECT @@default_storage_engine;
+--------------------------+
| @@default_storage_engine |
+--------------------------+
| InnoDB |
+--------------------------+
但是我们建议,无论任何时候,都使用 ENGINE = InnoDB 子句指定表的引擎为 InnoDB 。
因为如果没有指定,使用 mysqldump 或主从复制重放 CREATE TABLE 建表语句时,并不会自动添加 ENGINE = InnoDB。在默认存储引擎不是 InnoDB 的服务器上,表的存储引擎可能就不是 InnoDB 了。
每个表及其索引,可以存储在系统表空间 ( idbdata1 ) ,也可以存储在每个表自己的表空间 ( file-per-table ) ,还可以存储在通用的表空间 ( general tablespace )。
当在 my.cnf 配置文件中启用 innodb_file_per_table(默认值)时,