MySQL: Comment Sauvegarder (Vider) et restaurer une base de données à l’aide de mysqldump

Cet article montre comment vider et restaurer une base de données MySQL à partir de la ligne de commande sous Linux à l’aide des commandes mysqldump et mysql.

Si vous utilisez des bases de données MySQL ou MariaDB, il est très important que vous compreniez comment effectuer une sauvegarde et restaurer des données. De plus, vous devez conserver des sauvegardes régulières de la base de données, ce qui vous aidera à restaurer vos données si votre application tombe en panne ou si les données sont corrompues par une défaillance du système.

MySQL et MariaDB incluent des outils de ligne de commande que vous pouvez utiliser pour vider et restaurer rapidement et facilement des bases de données. L’outil mysqldump est utilisé pour exporter le contenu d’une base de données vers un fichier texte, tandis que le client mysql peut être utilisé pour importer des données d’un fichier texte dans une base de données MySQL/MariaDB.

Comment utiliser la commande de vidage MySQL

L’utilitaire de ligne de commande mysqldump exporte les bases de données vers des fichiers texte SQL. En d’autres termes, il est utilisé pour prendre le vidage de la base de données MySQL.

La syntaxe de la commande mysqldump est donnée ci-dessous:

mysqldump -u -p > .sql

Où:

  • username est votre nom d’utilisateur MySQL/MariaDB.
  • – p demande de mot de passe pour cet utilisateur.
  • database_name est le nom de la base de données que vous souhaitez sauvegarder.
  • nom du fichier.sql est le chemin d’accès complet au fichier de vidage sql qui contiendra la sauvegarde.

Les procédures, fonctions, vues et événements de la base de données sont vidés au moment de la sauvegarde.

mysqldump : Sauvegarde d’une seule base de données MySQL

Dans cet exemple, la base de données est nommée my_wordpress. Remplacez-le par le nom de la base de données que vous souhaitez exporter. Selon la syntaxe, le fichier de sauvegarde sera créé à l’emplacement actuel.

mysqldump -u root -p my_wordpress > my_wordpress_backup.sql

Une fois la commande exécutée, entrez votre mot de passe racine MySQL.

Cela crée un fichier de vidage MySQL nommé my_wordpress_backup.sql qui contient toutes les instructions SQL pour créer des tables et restaurer des données dans une base de données existante. Si des erreurs se produisent pendant le processus d’exportation, mysqldump les imprimera à l’écran.

La commande ne produira aucune sortie visuelle, mais vous pouvez inspecter le contenu de my_wordpress_backup.sql à l’aide de la commande head pour vérifier s’il s’agit d’un fichier de vidage MySQL légitime.

head -n 5 my_wordpress_backup.sql
-- MariaDB dump 10.19 Distrib 10.5.9-MariaDB, for Linux (x86_64)-- Host: localhost Database: my_wordpress -- Server version 10.3.27-MariaDB-0+deb10u1

mysqldump: Sauvegarde de plusieurs bases de données MySQL

Pour sauvegarder plusieurs bases de données MySQL avec une seule commande, vous devez utiliser l’option --databases suivie de la liste des bases de données que vous souhaitez sauvegarder. De plus, vous pouvez placer le fichier de résultat à l’emplacement de votre choix.

Exécutez la commande suivante pour créer un fichier de vidage MySQL my_backup.sql dans le répertoire /home/backups de deux bases de données nommées my_wordpress et ftpusers.

mysqldump -u root -p --databases my_wordpress ftpusers > /home/backups/my_backup.sql 

mysqldump: Sauvegarde toutes les bases de données MySQL

Utilisez l’option --all-databases pour sauvegarder toutes les bases de données MySQL:

mysqldump -u root -p --all-databases > all_db_backup.sql

Comment créer une sauvegarde de base de données MySQL Compressée

Si la taille de la base de données est très grande, il est judicieux de compresser la sortie. Pour ce faire, dirigez simplement la sortie vers la commande gzip et redirigez-la vers un fichier comme indiqué ci-dessous:

mysqldump -u root -p my_wordpress | gzip > my_wordpress_backup.sql.gz

mysql : Restaurer MySQL à partir d’un fichier de vidage MySQL

Pour restaurer une sauvegarde créée avec mysqldump, vous devrez utiliser la commande mysql.

mysql -u -p < .sql

  • username est votre nom d’utilisateur MySQL/MariaDB.
  • – p demande de mot de passe pour cet utilisateur.
  • database_name est le nom de la base de données dans laquelle vous souhaitez restaurer.
  • nom du fichier.sql est le chemin d’accès complet au fichier de vidage sql contenant la sauvegarde.

mysql: Restaurer une seule base de données MySQL

Vous pouvez restaurer toutes les tables à partir du fichier de vidage MySQL d’une base de données particulière.

La restauration est simplement effectuée avec la commande ci-dessous, où nous spécifions à nouveau un utilisateur et nous demandons un mot de passe, et transmettons le fichier my_wordpress_backup.sql dans la base de données my_wordpress.

mysql -u root -p my_wordpress < my_wordpress_backup.sql

Vous serez invité à saisir le mot de passe de votre utilisateur MySQL.

Une fois cela terminé, la base de données devrait être disponible dans l’instance en cours d’exécution de MySQL. Le fichier de vidage MySQL à partir duquel vous avez importé existera également, vous pouvez donc le stocker en toute sécurité à ce stade ou le supprimer s’il n’est plus nécessaire.

mysql: Restaurer toutes les bases de données MySQL

Vous pouvez restaurer toutes les bases de données de n’importe quel serveur MySQL vers un autre serveur MySQL à partir du fichier de vidage MySQL.

mysql -u root -p < all_db_backup.sql

Conclusion

Vous pouvez maintenant sauvegarder régulièrement vos fichiers de base de données et restaurer les données lorsque cela est nécessaire en suivant les étapes ci-dessus.

Ce tutoriel s’applique également lorsque vous souhaitez migrer vers un nouveau serveur. Sauvegardez simplement la base de données sur votre ancien serveur et téléchargez le fichier de vidage MySQL sur le nouveau serveur. Créez une base de données de destination sur le nouveau serveur, puis exécutez le fichier de vidage MySQL téléchargé dans la nouvelle base de données. En plus de cela, vous devez également recréer les utilisateurs et les autorisations de l’ancien serveur MySQL vers le nouveau.

Pour plus d’informations, voici le lien vers la documentation officielle.

Leave a Reply