代码之家  ›  专栏  ›  技术社区  ›  memilanuk

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

  •  49
  • memilanuk  · 技术社区  · 16 年前

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

    我一直在看MySQL5.1手册,发现了这个声明 ENGINE=innodb 它将附加到 CREATE TABLE 声明,但我没有发现任何与 CREATE DATABASE 语句。

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

    2 回复  |  直到 11 年前
        1
  •  62
  •   Flow Matt McDonald    11 年前

    引用参考手册( Setting the Storage Engine ):

    如果你省略了 ENGINE 选项,使用默认存储引擎。通常,这是myisam,但您可以使用 --default-storage-engine 服务器启动选项,或通过设置 default-storage-engine 期权在 my.cnf 配置文件。

    默认的存储引擎选项必须是中mysqld部分的一部分。 肌动蛋白 ;

    [mysqld]
    default-storage-engine = innodb
    

    您可能还希望仅为当前会话更改默认存储引擎。您可以通过设置 storage_engine 变量:

    SET storage_engine=INNODB;
    
        2
  •  5
  •   sml    16 年前

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

    mysqld --default-storage-engine=InnoDB
    

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