Как я могу установить механизм хранения по умолчанию, используемый MySQL? - PullRequest
50 голосов
/ 16 июня 2010

Я работал над написанием SQL для создания базы данных MySQL с несколькими опциями по умолчанию, включая набор символов и параметры сортировки. Можно ли установить механизм хранения по умолчанию для таблиц в этой базе данных на InnoDB?

Я просматривал руководство по MySQL 5.1 и нашел оператор ENGINE=innodb, который будет добавлен к оператору CREATE TABLE, но я не нашел ничего, связанного с оператором CREATE DATABASE.

Есть ли нормальный способ сделать это как часть создания базы данных, или его нужно указывать для каждой таблицы?

Ответы [ 2 ]

64 голосов
/ 16 июня 2010

Цитирование справочного руководства ( Настройка механизма хранения ):

Если вы опустите опцию ENGINE, будет использован механизм хранения по умолчанию. Обычно это MyISAM, но вы можете изменить его, используя параметр запуска сервера --default-storage-engine или установив параметр default-storage-engine в my.cnf файл конфигурации.

Опция default-storage-engine должна быть частью раздела mysqld в my.cnf ;

[mysqld]
default-storage-engine = innodb

Вы также можете изменить механизм хранения по умолчанию только для текущего сеанса. Вы можете сделать это, установив переменную storage_engine:

SET storage_engine=INNODB;
5 голосов
/ 16 июня 2010

вам нужно указать механизм хранения по умолчанию при запуске mysqld. например:

mysqld --default-storage-engine=InnoDB

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

...