J'ai travaillé sur l'écriture de SQL pour créer une base de données MySQL avec plusieurs options par défaut, dont le jeu de caractères et le classement. Est-il possible de définir le moteur de stockage par défaut pour les tables de cette base de données sur InnoDB?
J'ai parcouru le manuel MySQL 5.1 et j'ai trouvé la déclaration ENGINE=innodb
qui serait ajouté à un CREATE TABLE
, mais je n'ai rien trouvé concernant un CREATE DATABASE
déclaration.
Existe-t-il un moyen normal de le faire dans le cadre de la création de la base de données, ou doit-il être spécifié table par table?
Citant le manuel de référence ( Configuration du moteur de stockage ):
Si vous omettez l'option
ENGINE
, le moteur de stockage par défaut est utilisé. Il s'agit normalement de MyISAM, mais vous pouvez le modifier en utilisant le--default-storage-engine
option de démarrage du serveur, ou en définissantdefault-storage-engine
dans l'optionmy.cnf
fichier de configuration.
L'option default-storage-engine doit faire partie de la section mysqld dans my.cnf ;
[mysqld]
default-storage-engine = innodb
Vous pouvez également modifier le moteur de stockage par défaut uniquement pour la session en cours. Vous pouvez le faire en définissant le storage_engine
variable:
SET storage_engine=INNODB;
vous devez spécifier le moteur de stockage par défaut au démarrage de mysqld. par exemple:
mysqld --default-storage-engine=InnoDB
http://dev.mysql.com/doc/refman/5.1/en/server-options.html#option_mysqld_default-storage-engine