Comment importer et exporter des bases de données dans MySQL ou MariaDB

introduction

Pouvoir importer et exporter votre base de données est une compétence importante à posséder. Vous pouvez utiliser des sauvegardes de données à des fins de sauvegarde et de restauration, ce qui vous permet de récupérer d'anciennes copies de votre base de données en cas d'urgence. Vous pouvez également les utiliser pour migrer des données vers un nouveau serveur ou un nouvel environnement de développement.

Travailler avec les vidages de bases de données dans MySQL et MariaDB est assez simple. Ce didacticiel explique comment exporter la base de données et l'importer à partir d'un fichier de vidage dans MySQL et MariaDB.

Conditions préalables

Pour importer et / ou exporter une base de données MySQL ou MariaDB, vous aurez besoin des éléments suivants:

  • Accès à un serveur Linux exécutant MySQL ou MariaDB

  • Le nom de la base de données et les informations d'identification de l'utilisateur correspondant

Exporter la base de données

L'utilitaire de console demysqldump est utilisé pour exporter des bases de données vers des fichiers texte SQL, ce qui facilite le transfert et le déplacement. Vous aurez besoin du nom de la base de données lui-même, ainsi que du nom d'utilisateur et du mot de passe d'un compte doté de privilèges permettant au moins un accès en lecture seule à la base de données.

Exportez votre base de données en utilisant la structure de commande suivante:

mysqldump -u username -p database_name > data-dump.sql
  • username est le nom d'utilisateur avec lequel vous pouvez vous connecter à la base de données

  • database_name est le nom de la base de données qui sera exportée

  • data-dump.sql est le fichier du répertoire courant dans lequel la sortie sera enregistrée

La commande ne produira aucune sortie visuelle, mais vous pouvez inspecter le contenu defilename.sql pour vérifier s'il s'agit d'un fichier de vidage SQL légitime en exécutant la commande suivante:

head -n 5 data-dump.sql

Le haut du fichier devrait ressembler à ceci, montrant qu'il s'agit d'un vidage MySQL pour une base de données nomméedatabase_name.

SQL dump fragment-- MySQL dump 10.13  Distrib 5.7.16, for Linux (x86_64)
--
-- Host: localhost    Database: database_name
-- ------------------------------------------------------
-- Server version       5.7.16-0ubuntu0.16.04.1

Si des erreurs se produisent pendant le processus d'exportation,mysqldump les imprimera clairement à l'écran à la place.

Importer la base de données

Pour importer un fichier de vidage existant dans MySQL ou MariaDB, vous devez créer la nouvelle base de données. C'est là que le contenu du fichier de vidage sera importé.

Tout d'abord, connectez-vous à la base de données en tant queroot ou avec un autre utilisateur disposant de privilèges suffisants pour créer de nouvelles bases de données:

mysql -u root -p

Cela vous amènera à l'invite du shell MySQL. Ensuite, créez une nouvelle base de données avec la commande suivante. Dans cet exemple, la nouvelle base de données est appeléenew_database:

CREATE DATABASE new_database;

Vous verrez cette sortie confirmant sa création.

OutputQuery OK, 1 row affected (0.00 sec)

Puis quittez le shell MySQL en appuyant surCTRL+D. A partir de la ligne de commande normale, vous pouvez importer le fichier de vidage à l'aide de la commande suivante:

mysql -u username -p new_database < data-dump.sql
  • username est le nom d'utilisateur avec lequel vous pouvez vous connecter à la base de données

  • newdatabase est le nom de la base de données fraîchement créée

  • data-dump.sql est le fichier de vidage de données à importer, situé dans le répertoire courant

Si la commande s'exécute correctement, elle ne produira aucun résultat. Si des erreurs se produisent pendant le processus,mysql les imprimera à la place sur le terminal. Vous pouvez vérifier que la base de données a été importée en vous reconnectant au shell MySQL et en inspectant les données. Cela peut être fait en sélectionnant la nouvelle base de données avecUSE new_database, puis en utilisantSHOW TABLES; ou une commande similaire pour regarder certaines des données.

Conclusion

Vous savez maintenant comment créer des sauvegardes de base de données à partir de bases de données MySQL et comment les importer à nouveau. mysqldump a plusieurs paramètres supplémentaires qui peuvent être utilisés pour modifier la façon dont les vidages sont créés, sur lesquels vous pouvez en apprendre davantage sur lesofficial mysqldump documentation page.