Travailler avec des moteurs de base de données MySQL

Cet article est une introduction au travail avec des moteurs de base de données dans MySQL.

Pour suivre certaines des procédures de cet article, vous devez avoir un accès root au serveur.

À propos des moteurs de base de données MySQL

Les moteurs de base de données fournissent la fonctionnalité sous-jacente à MySQL pour travailler et 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, alors que MyISAM ne le fait pas. 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, 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 depuis la ligne de commande à l’aide du programme mysql. Si vous ne savez pas comment faire cela, veuillez d’abord lire cet article.

Détermination du 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 à l’invite mysql > :

SHOW ENGINES;

Une liste des moteurs pris en charge apparaît, ainsi qu’une brève description et les fonctionnalités prises en charge pour chaque moteur. Le moteur de base de données par défaut est marqué par DÉFAUT dans la colonne Support.

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 (sauf si vous définissez 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 :

  1. Utilisez votre éditeur de texte préféré pour ouvrir le my.fichier cnf sur votre serveur. L’emplacement du mon.le fichier cnf dépend de votre distribution Linux:
    • Sur CentOS et Fedora, le my.le fichier cnf se trouve dans le répertoire /etc.
    • Sur Debian et Ubuntu, le mon.le fichier cnf se trouve dans le répertoire /etc/mysql.
  2. Dans le mon.fichier cnf, localisez la section.
  3. Ajoutez ou modifiez la ligne suivante dans la section. Remplacez ENGINE par 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 le my.fichier cnf:

    skip-innodb

    Pour ce faire, ajoutez simplement un signe dièse (#) au début de la ligne, comme suit:

    #skip-innodb
  4. Enregistrez les modifications dans le my.fichier cnf, puis quittez l’éditeur de texte.
  5. Redémarrez le serveur MySQL en utilisant la commande appropriée pour votre distribution Linux :

    • Pour CentOS et Fedora, tapez :
      service mysqld restart
    • Pour Debian et Ubuntu, tapez :

      service mysql restart
  6. Pour confirmer le nouveau moteur de base de données par défaut, utilisez l’instruction SQL SHOW ENGINES comme décrit dans la section Détermination du moteur de base de données par défaut.

Détermination du 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 à l’invite mysql >. Remplacez database par 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 chaque table de la base de données, ainsi que le moteur utilisé par chaque table.

Modification du moteur de base de données d’une table

Vous pouvez modifier le moteur de base de données d’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éation d’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;

Pour créer une table utilisant 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;

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.