GNU/Linux >> Tutoriels Linux >  >> Linux

MySQL :comment sauvegarder (vider) et restaurer une base de données à l'aide de mysqldump

Cet article explique comment vider et restaurer correctement la 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 sauvegarder 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. Le mysqldump est utilisé pour exporter le contenu d'une base de données vers un fichier texte, tandis que mysql client peut être utilisé pour importer des données d'un fichier texte dans une base de données MySQL/MariaDB.

Comment utiliser la commande MySQL Dump

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

La syntaxe de mysqldump la commande 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 de mot de passe pour cet utilisateur.
  • nom_base_données est le nom de la base de données que vous souhaitez sauvegarder.
  • nomfichier.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 :Sauvegarder 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 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 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 en utilisant 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 --databases suivie de la liste des bases de données que vous souhaitez sauvegarder. De plus, vous pouvez placer le fichier de résultat dans un emplacement de votre choix.

Exécutez la commande suivante pour créer un fichier de vidage MySQL my_backup.sql dans /home/backups répertoire 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 :Sauvegarder toutes les bases de données MySQL

Utiliser --all-databases option 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 importante, il est judicieux de compresser la sortie. Pour ce faire, dirigez simplement la sortie vers gzip commande 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 le mysql commande.

mysql -u [username] -p [database_name] < [filename].sql

  • nom d'utilisateur est votre nom d'utilisateur MySQL/MariaDB.
  • -p demande de mot de passe pour cet utilisateur.
  • nom_base_données est le nom de la base de données dans laquelle vous souhaitez restaurer.
  • nomfichier.sql est le chemin d'accès complet au fichier de vidage sql qui contient 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 sommes invités à entrer un mot de passe, et en passant le my_wordpress_backup.sql fichier dans la base de données my_wordpress .

mysql -u root -p my_wordpress < my_wordpress_backup.sql

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

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 soit le stocker en toute sécurité à ce stade, soit 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 sur un autre serveur MySQL à partir du fichier de vidage MySQL.

mysql -u root -p < all_db_backup.sql

Conclusion

Vous pouvez maintenant 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 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. De plus, 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.


Linux
  1. Comment optimiser et réparer les bases de données MySQL à l'aide de phpMyAdmin

  2. Comment sauvegarder et restaurer la base de données Postgres

  3. Comment créer une sauvegarde des bases de données MySQL à l'aide de mysqldump sur Ubuntu 20.04

  4. Comment sauvegarder et restaurer une base de données dans PostgreSQL

  5. Sauvegarder et restaurer la base de données MySQL à l'aide de mysqlhotcopy

Comment effectuer une sauvegarde et restaurer la base de données MSSQL/MySQL dans Plesk

Comment effectuer une sauvegarde de base de données MySQL à l'aide de cPanel cron ?

Comment sauvegarder la base de données MySQL à l'aide de cPanel ?

Comment restaurer la sauvegarde de la base de données à l'aide de JetBackup 5 ?

Comment restaurer une base de données MySQL à partir d'une sauvegarde .SQL

Comment sauvegarder une base de données MySQL dans cPanel