Sauvegarder / restaurer
Notions théoriques
Dans cette séance, nous allons apprendre comment sauvegarder une base de données MariaDB. La sauvegarde est un aspect crucial de la gestion des bases de données. En cas de perte de données, d'erreur de manipulation ou de panne de système, une sauvegarde récente de votre base de données peut vous permettre de récupérer rapidement vos données.
MariaDB offre plusieurs méthodes pour sauvegarder une base de données, mais l'une des plus couramment utilisées est la commande mysqldump
. Cette commande crée une "image" de la base de données qui peut être utilisée pour restaurer la base de données à son état au moment de la sauvegarde.
La syntaxe de base de la commande mysqldump
est la suivante :
mysqldump -u [utilisateur] -p[password] [nom_de_la_base_de_donnees] > [nom_du_fichier_de_sauvegarde].sql
Pour restaurer une base de données, on utilise la commande mysql
.
La syntaxe de base de la commande mysql
, pour restaurer, est la suivante :
mysql -u [utilisateur] -p[password] [nom_de_la_base_de_donnees] < [nom_du_fichier_de_sauvegarde].sql
Exemple pratique
-
Pour sauvegarder notre base de données
ecole
, on peut utiliser la commande suivante :mysqldump -u etudiant -p1mot2Passe+QueTresSécurisé ecole > ecole_backup.sql
-
Pour restaurer la base de données
ecole
, on peut utiliser la commande suivante :mysql -u etudiant -p1mot2Passe+QueTresSécurisé ecole < ecole_backup.sql
Cette commande crée un fichier ecole_backup.sql
qui contient toutes les instructions SQL nécessaires pour recréer la base de données ecole
dans son état actuel.
Test de mémorisation/compréhension
TP simple
Mission
Il vous est demander de sauvegarder la base de données ecole
et de la restaurer dans une nouvelle base de données ecole_backup
.
Etapes
- Connectez-vous à MariaDB en utilisant l'utilisateur
root
. - Créez une nouvelle base de données appelée
ecole_backup
. - Donnez tous les droits (permissions) à l'utilisateur
etudiant
sur la base de donnéesecole_backup
. - Déconnectez l'utilisateur
root
de MariaDB - Sauvegardez la base de données
ecole
dans un fichier appeléecole_backup.sql
en utilisant l'utilisateuretudiant
et le mot de passe1mot2Passe+QueTresSécurisé
. - Restaurez la sauvegarde de la base de données
ecole
dans la base de donnéesecole_backup
. - Vérifiez que toutes les données de la base de données
ecole
ont été correctement restaurées dans la base de donnéesecole_backup
.
Pour rappel, le mot de passe de l'utilisateur etudiant
est : 1mot2Passe+QueTresSécurisé
Une solution
Vous devez être connecté pour voir le contenu.
Avez-vous jeter un oeil au contenu du fichier qui contient la sauvegarde ?
nano ecole_backup.sql
Quelles sont les commandes SQL utilisées dans ce fichier ?
TP avancé
Automatisation de la sauvegarde avec une tâche Cron
- Connectez-vous à MariaDB en utilisant l'utilisateur
root
. - Créez une nouvelle base de données appelée
ecole_backup_auto
. - Donnez tous les droits (permissions) à l'utilisateur
etudiant
sur la base de donnéesecole_backup_auto
. exit - Déconnectez l'utilisateur
root
de MariaDB - Connectez-vous à MariaDB en utilisant l'utilisateur
etudiant
et le mot de passe1mot2Passe+QueTresSécurisé
. - Créez une nouvelle table
etudiants
dans la base de donnéesecole_backup_auto
avec les champs suivants :id
(entier, clé primaire, auto-incrément),nom
(chaîne de caractères),prenom
(chaîne de caractères),age
(entier).
- Ajoutez un nouvel enregistrement dans la table
etudiants
avec les valeurs de votre choix pournom
,prenom
etage
. - Déconnectez l'utilisateur
etudiant
de MariaDB - Créez un script bash appelé
backup_ecole_auto.sh
qui sauvegarde la base de donnéesecole_backup_auto
dans un fichier appeléecole_backup_auto.sql
.RAPPEL : La première ligne du fichier
backup_ecole_auto.sh
doit être#!/bin/bash
. - Rendez ce script exécutable.
- Créez une tâche Cron pour exécuter ce script dans 5 minutes.
- Vérifiez que la tâche Cron a été correctement exécutée, en vérifiant l'heure du fichier
ecole_backup_auto.sql
:ls -la /home/sio/backup/ecole_backup_auto.sql
- Modifiez une tâche Cron pour exécuter ce script tous les jours à 3 heures du matin.
- Vérifiez que la tâche Cron a été correctement configurée, avec la commande :
crontab -l
Une solution
Vous devez être connecté pour voir le contenu.