•Prévenir la perte de données : En cas de panne matérielle, d'erreur humaine, de piratage ou d'autres événements imprévus, il est possible de perdre toutes les données de sa base de données. En ayant des sauvegardes régulières, il est possible de restaurer les données en cas de besoin, évitant ainsi la perte de données importantes.
•Restaurer une base de données corrompue : Les bases de données peuvent parfois être corrompues, ce qui peut entraîner des erreurs, des pertes de données ou des temps d'arrêt prolongés. Si vous disposez de sauvegardes régulières, vous pouvez restaurer votre base de données à partir de la dernière sauvegarde valide, ce qui peut vous aider à réduire le temps d'arrêt et à minimiser les pertes de données.
•Tester les mises à jour ou les changements : Les sauvegardes peuvent être utilisées pour tester les mises à jour ou les changements apportés à votre base de données. Si quelque chose ne fonctionne pas comme prévu, vous pouvez revenir à une version précédente de votre base de données en utilisant une sauvegarde.
•Migrer des données : Les sauvegardes peuvent être utilisées pour migrer des données vers un nouvel environnement. Par exemple, si vous souhaitez déplacer votre base de données vers un nouvel hébergeur ou un nouveau serveur, vous pouvez utiliser une sauvegarde pour transférer les données.
Pour sauvegarder l'ensembles des BD, il faut exécuter la commande suivante:
mysqldump -u [nom_utilisateur] -p --all-databases > [nom_fichier_de_sauvegarde.sql]
Par exemple, pour sauvegarder toutes les bases de données avec un nom d'utilisateur "root" et enregistrer la sauvegarde dans un fichier appelé "backup_all.sql", la commande serait :
mysqldump -u root -p --all-databases > backup_all.sql
mysqldump -u [nom_utilisateur] -p [nom_base_de_données] > [nom_fichier_de_sauvegarde.sql]
Par exemple, pour sauvegarder une base de données appelée "mydatabase" avec un nom d'utilisateur "root" et enregistrer la sauvegarde dans un fichier appelé "backup.sql", la commande serait :
mysqldump -u root -p mydatabase > backup.sql
ou
mysqldump -u root -p --databases mydatabase > backup.sql
Avec --databases
:
CREATE DATABASE
et USE DATABASE
Sans --databases
:
Voici la commande générale:
mysqldump -u [nom_utilisateur] -p [nom_base_de_données] [nom_table_1] [nom_table_2] > [nom_fichier_de_sauvegarde.sql]
Par exemple, pour sauvegarder une base de données appelée "mydatabase" avec les tables "table1" et "table2" avec un nom d'utilisateur "root" et enregistrer la sauvegarde dans un fichier appelé "backup_tables.sql", la commande serait :
mysqldump -u root -p mydatabase table1 table2 > backup_tables.sql
Voici la commande générale pour la restauration d'un BD:
mysql -u [nom d'utilisateur] -p [nom de la base de données] < [chemin vers le fichier de sauvegarde.sql]
Par exemple, cette commande restaure une base de données "mydatabase" à partir de la sauvegarde "mydatabasebackup" située dans le dossier local. Vous pourriez aussi avoir un chemin d'accès différent de type: "c:\user\mesbackups\…"
mysql -u root -p mydatabase < mydatabasebackup.sql
Attention car si le fichier ne contient pas le code pour la création de la BD préalablement, vous allez vous retrouver avec une erreur (puisque la BD n'existe pas!)
Si vous avez une sauvegarde de votre base de données MySQL au format SQL et que vous souhaitez restaurer une table spécifique, vous pouvez utiliser la commande "mysql" avec l'option "-D" pour sélectionner la base de données à restaurer et l'option "-t" pour restaurer la table spécifique :
mysql -u [nom d'utilisateur] -p -D [nom de la base de données] -t < [chemin vers le fichier de sauvegarde.sql]
Par exemple, cette commande restaurera la table "mytable" de la base de données "mydatabase" à partir de la sauvegarde située dans le dossier.
mysql -u root -p -D mydatabase -t < mytable.sql
Pour plus d'info sur les sauvegardes dans Mysql, voici un site intéresséant: https://www.sqlshack.com/how-to-backup-and-restore-mysql-databases-using-the-mysqldump-command/