如何设置MySQL使用的默认存储引擎?

mem*_*nuk 51 mysql database innodb

我一直在编写SQL来创建一个带有几个默认选项的MySQL数据库,包括字符集和整理.是否可以将此数据库中的表的默认存储引擎设置为InnoDB?

我一直在查看MySQL 5.1手册,我发现了ENGINE=innodb将附加到CREATE TABLE语句中的语句,但我没有找到与CREATE DATABASE语句相关的任何内容.

作为数据库创建的一部分,是否有正常的方法来执行此操作,还是需要逐个表指定?

Dan*_*llo 65

引用参考手册(设置存储引擎):

如果省略该ENGINE选项,则使用默认存储引擎.通常,这是MyISAM,但您可以使用--default-storage-engine服务器启动选项或通过default-storage-enginemy.cnf配置文件中设置选项来更改它.

default-storage-engine选项必须是my.cnf中 mysqld部分的一部分;

[mysqld]
default-storage-engine = innodb
Run Code Online (Sandbox Code Playgroud)

您可能还希望仅为当前会话更改默认存储引擎.您可以通过设置storage_engine变量来完成此操作:

SET storage_engine=INNODB;
Run Code Online (Sandbox Code Playgroud)

  • 注意,你必须重置mysql才能使my.cnf的更改生效.很明显,但它绊倒了我. (7认同)
  • 注意在 mysql >=5.7.9 中必须使用default_storage_engine (2认同)

sml*_*sml 5

启动mysqld时需要指定默认存储引擎.例如:

mysqld --default-storage-engine=InnoDB
Run Code Online (Sandbox Code Playgroud)

http://dev.mysql.com/doc/refman/5.1/en/server-options.html#option_mysqld_default-storage-engine

  • 我应该更清楚......我知道如何在CREATE TABLE语句中使用InnoDB,使用启动选项以及修改my.cnf.我特别询问是否可以在SQL脚本中作为CREATE DATABASE语句的一部分进行操作. (2认同)