Cet article est une introduction à l'utilisation des moteurs de base de données dans MySQL.
Pour suivre certaines des procédures décrites dans cet article, vous devez disposer d'un accès racine au serveur.À propos des moteurs de base de données MySQL
Les moteurs de base de données fournissent la fonctionnalité sous-jacente permettant à MySQL de travailler et de traiter les données.
Les deux moteurs de base de données MySQL les plus courants et les plus populaires sont MyISAM et InnoDB . MyISAM est le moteur par défaut de MySQL pour les versions antérieures à 5.5.5 et fonctionne bien dans la plupart des scénarios. Cependant, selon vos besoins, il existe des situations où un autre moteur de base de données, tel qu'InnoDB, peut être le meilleur choix. Par exemple, InnoDB prend en charge les transactions, contrairement à MyISAM. InnoDB prend également en charge les clés étrangères, contrairement à MyISAM.
Si vous avez un accès root à votre serveur, vous avez un contrôle total sur comment et quand MySQL utilise les différents moteurs de base de données. Vous pouvez modifier le moteur de base de données par défaut, modifier le moteur de base de données d'une table spécifique, etc.
Cet article suppose que vous savez déjà comment accéder à MySQL à partir de la ligne de commande en utilisant mysql programme. Si vous ne savez pas comment procéder, veuillez d'abord lire cet article.Déterminer le moteur de base de données par défaut
Pour déterminer le moteur de base de données par défaut pour votre installation, tapez la commande suivante sur mysql> invite :
SHOW ENGINES;
Une liste des moteurs pris en charge s'affiche, accompagnée d'une brève description et des fonctionnalités prises en charge pour chaque moteur. Le moteur de base de données par défaut est marqué DEFAULT dans l'Assistance colonne.
Modification du moteur de base de données par défaut
Vous pouvez modifier le moteur de base de données par défaut pour votre installation MySQL. Après cela, toutes les nouvelles tables que vous créez utiliseront le nouveau moteur de base de données (à moins que vous ne définissiez explicitement le moteur lors de la création de la table).
Pour modifier le moteur de base de données par défaut, procédez comme suit :
- Utilisez votre éditeur de texte préféré pour ouvrir my.cnf fichier sur votre serveur. L'emplacement de mon.cnf dépend de votre distribution Linux :
- Sur CentOS et Fedora, le my.cnf le fichier est situé dans /etc répertoire.
- Sur Debian et Ubuntu, le my.cnf le fichier est situé dans /etc/mysql répertoire.
- Dans le mon.cnf fichier, localisez le [mysqld] section.
-
Ajoutez ou modifiez la ligne suivante dans le [mysqld] section. Remplacer MOTEUR avec le nom du moteur que vous souhaitez utiliser par défaut :
default-storage-engine=ENGINE
Si vous activez le moteur de base de données InnoDB, selon votre distribution Linux, vous devrez peut-être désactiver la ligne suivante dans my.cnf fichier :
skip-innodb
Pour ce faire, ajoutez simplement un signe dièse (# ) au début de la ligne, comme suit :
#skip-innodb
- Enregistrer les modifications dans my.cnf fichier, puis quittez l'éditeur de texte.
-
Redémarrez le serveur MySQL en utilisant la commande appropriée pour votre distribution Linux :
- Pour CentOS et Fedora, saisissez :
service mysqld restart
-
Pour Debian et Ubuntu, tapez :
service mysql restart
- Pour CentOS et Fedora, saisissez :
- Pour confirmer le nouveau moteur de base de données par défaut, utilisez SHOW ENGINES Instruction SQL telle que décrite dans la section Détermination du moteur de base de données par défaut.
Déterminer le moteur de base de données actuel d'une table
Pour déterminer quel moteur une table de base de données utilise actuellement, tapez la commande suivante sur mysql> rapide. Remplacer base de données avec le nom de la base de données que vous souhaitez vérifier :
SELECT TABLE_NAME, ENGINE FROM information_schema.TABLES where TABLE_SCHEMA = 'database';
Cette commande affiche une liste de toutes les tables de la base de données, ainsi que le moteur utilisé par chaque table.
Changer le moteur de base de données d'une table
Vous pouvez modifier le moteur de base de données pour une table qui existe déjà. Par exemple, l'instruction SQL suivante montre comment modifier une table nommée myTable pour utiliser le moteur InnoDB :
ALTER TABLE myTable ENGINE = InnoDB;
Créer une nouvelle table avec un moteur de base de données spécifique
Lorsque vous créez une table dans une base de données, vous pouvez définir explicitement son moteur de base de données (sinon, MySQL utilise le moteur de base de données par défaut lors de la création de la table). Par exemple, l'instruction SQL suivante montre comment créer une table nommée myTable qui utilise le moteur de base de données MyISAM :
CREATE TABLE myTable ( id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (id), data VARCHAR(20) NOT NULL ) ENGINE MyISAM;
De même, pour créer une table qui utilise le moteur de base de données InnoDB, vous pouvez utiliser l'instruction SQL suivante :
CREATE TABLE myTable ( id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (id), data VARCHAR(20) NOT NULL ) ENGINE InnoDB;
Plus d'informations
- Pour plus d'informations sur le moteur MyISAM, veuillez visiter http://dev.mysql.com/doc/refman/5.5/en/myisam-storage-engine.html.
- Pour plus d'informations sur le moteur InnoDB, veuillez visiter http://dev.mysql.com/doc/refman/5.5/en/innodb-storage-engine.html.