我一直致力于编写SQL来创建一个包含多个默认选项的MySQL数据库,包括字符集和整理。是否可以将此数据库中的表的默认存储引擎设置为InnoDB?
我一直在查看MySQL 5.1手册,我发现了ENGINE=innodb
语句会被附加到CREATE TABLE
语句中,但我没有找到任何与{{1}相关的内容。 1}}陈述。
作为数据库创建的一部分,是否有正常的方法来执行此操作,还是需要逐个表指定?
答案 0 :(得分:64)
引用参考手册(Setting the Storage Engine):
如果省略
ENGINE
选项,则使用默认存储引擎。通常,这是MyISAM,但您可以使用--default-storage-engine
服务器启动选项或在<<>中设置default-storage-engine
选项来更改它strong>my.cnf
配置文件。
默认存储引擎选项必须是 my.cnf 中mysqld部分的一部分;
[mysqld]
default-storage-engine = innodb
您可能还想更改当前会话的默认存储引擎。您可以通过设置storage_engine
变量:
SET storage_engine=INNODB;
答案 1 :(得分:5)
启动mysqld时需要指定默认存储引擎。例如:
mysqld --default-storage-engine=InnoDB
http://dev.mysql.com/doc/refman/5.1/en/server-options.html#option_mysqld_default-storage-engine