Comment sauvegarder (vider) et restaurer la base de données MySQL
Cet article montre la manière appropriée de vider et de restaurer la base de données MySQL à l'aide des commandes mysqldump et mysql.
Si vous utilisez des bases de données MySQL ou MariaDB, vous devez comprendre comment sauvegarder et restaurer les 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 une panne du système corrompt votre application ou les données.
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.
Par exemple, l'outil mysqldump
est utilisé pour exporter le contenu d'une base de données vers un fichier texte. Dans le même temps, l'application client mysql
peut être utilisée pour importer des données d'un fichier texte dans une base de données MySQL/MariaDB.
Comment sauvegarder (vider) la base de données 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 effectuer le dump de la base de données MySQL.
La syntaxe de la commande mysqldump
est donnée ci-dessous :
mysqldump -u [username] -p [database_name] > [filename.sql]
Où :
- nom d'utilisateur est votre nom d'utilisateur MySQL/MariaDB.
- -p demande le mot de passe de cet utilisateur.
- database_name est le nom de la base de données que vous souhaitez sauvegarder.
- filename.sql est le chemin complet du fichier de vidage SQL contenant la sauvegarde.
Il est également essentiel de mentionner que les procédures, fonctions, vues et événements de la base de données sont vidés au moment de la sauvegarde.
Comment sauvegarder une seule base de données MySQL
Supposons que nous ayons déjà créé une base de données appelée my_wordpress
. Bien entendu, dans la commande ci-dessous, remplacez-le par le nom de la base de données que vous souhaitez exporter.
Ensuite, selon la syntaxe, mysqldump
créera le fichier de sauvegarde à 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 root 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 surviennent 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
Comment sauvegarder 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ésultats à 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
Comment sauvegarder toutes les bases de données MySQL à la fois
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 énorme, c'est une bonne idée de compresser la sortie. Pour ce faire, dirigez le résultat vers la commande gzip
et redirigez-le vers un fichier comme indiqué ci-dessous :
mysqldump -u root -p my_wordpress | gzip > my_wordpress_backup.sql.gz
Restaurer la base de données MySQL à partir d'un fichier de vidage MySQL
Pour restaurer une sauvegarde créée avec mysqldump
, vous devez utiliser la commande mysql
.
mysql -u [username] -p [database_name] < [filename.sql]
Où
- nom d'utilisateur est votre nom d'utilisateur MySQL/MariaDB.
- -p demande le mot de passe de cet utilisateur.
- database_name est le nom de la base de données que vous souhaitez restaurer.
- filename.sql est le chemin complet du fichier de vidage SQL contenant la sauvegarde.
Restaurer une seule base de données MySQL
Vous pouvez restaurer toutes les tables du fichier de vidage MySQL d'une base de données particulière.
La restauration est effectuée avec la commande ci-dessous. Nous spécifions à nouveau un utilisateur qui sera invité à saisir 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
Une fois cette opération terminée, 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 toujours, vous pouvez donc le stocker en toute sécurité à ce stade ou le supprimer s'il n'est plus nécessaire.
Restaurer toutes les bases de données MySQL
Vous pouvez restaurer toutes les bases de données de n'importe quel serveur MySQL sur un autre serveur MySQL à partir du fichier de vidage MySQL.
mysql -u root -p < all_db_backup.sql
Conclusion
Vous pouvez désormais conserver une sauvegarde régulière de vos fichiers de base de données et restaurer les données si nécessaire en suivant les étapes ci-dessus.
Ce tutoriel s'applique également lorsque vous souhaitez migrer vers un nouveau serveur. Sauvegardez la base de données sur votre ancien serveur et téléchargez le fichier de vidage MySQL sur le nouveau serveur.
Ensuite, 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 outre, vous devez également recréer les utilisateurs et les autorisations de l'ancien serveur MySQL vers le nouveau.
Pour des informations plus détaillées, voici le lien vers la documentation officielle. Si vous avez des questions ou des commentaires, n'hésitez pas à laisser un commentaire.