Sauvegarde et restauration de BDD

Sauvegarde et restauration d’une base de données MySQL
Pour faire ce TP, nous avons créé une base de données nommée Lycee avec une table eleve.
I. Sauvegarde
Pour effectuer une sauvegarde, il faut se rendre dans le répertoire bin de mysql.
Il ne faut pas être connecté à MySQL pour effectuer une sauvegarde.
Mysqldump : fonction qui permet d’exporter une base ou un groupe de bases vers un fichier texte
pour la sauvegarde ou le transfert entre deux serveurs. L’export contient les requêtes SQL
nécessaires pour créer les tables et les remplir.
Sauvegarder une base :
Commande : mysqldump lycee –u root > lycee.sql
Explication :
- lycee : nom de la base à sauvegarder
- -u root : compte utilisateur mysql
- lycee.sql : script dans lequel sera contenue la sauvegarde
Nous pouvons voir que notre script de sauvegarde lycee.sql vient d’être créé dans notre
répertoire bin de mysql.
Sauvegarder toute les bases :
Commande : mysqldump -u utilisateur –p mot_de_passe --all-databases >
nom_de_sauvegarde.sql
Explication :
- -u root : compte utilisateur mysql
- -p mot_de_passe : mot de passe de l’utilisateur
- --all-databases : prend toutes les bases
- nom_de_sauvegarde.sql : script dans lequel sera contenue la sauvegarde
Sauvegarder quelques bases :
Commande : mysqldump -u utilisateur –p mot_de_passe --databases base_de_donnee_1
base_de_donnees_2 … > nom_de_sauvegarde.sql
Explication :
- -u root : compte utilisateur mysql
- -p mot_de_passe : mot de passe de l’utilisateur
- --databases : permet d’indiquer le nom des bases à sauvegarder
- nom_de_sauvegarde.sql : script dans lequel sera contenue la sauvegarde
1
II. Restauration
Si on a supprimé une table, il nous est possible de la restaurer.
Par exemple, ici nous avons supprimé la table eleve de notre base, on va donc pouvoir la
restaurer grâce à notre script de sauvegarde.
ATTENTION : Pour restaurer les tables, il faut que la base existe, sinon la restauration ne sera
pas possible.
Pour effectuer une sauvegarde, il faut se rendre dans le répertoire bin de mysql.
Il ne faut pas être connecté à MySQL pour effectuer une restauration.
Commande : mysql –u root lycee < lycee.sql
Explication :
- -u root : compte utilisateur mysql
- lycee : table dans laquelle la restauration doit avoir lieu
- nom_de_sauvegarde.sql : script dans lequel sera contenue la sauvegarde
Nous pouvons donc voir que notre table eleve a bien été restaurée dans la base lycee
2
III. Gestion du programmateur d’évènements (event Scheduler)
Permet de créer des tâches qui se déclenchent à un moment donné.
Cela permet donc :
- Le nettoyage d’une table
- L’optimisation après un ajout massif de données
- De faire des calculs quelconques
Pour cela, il faut se connecter à mysql.
Tout d’abord, il faut vérifier que le service fonctionne :
Nous pouvons voir que la variable est à OFF, donc le service event_scheduler n’est pas activité
Pour activer le service, il suffit d’attribuer la valeur 1 à la variable :
Notre service est désormais activé :
3
Actuellement, nous avons 23 élèves dans notre table eleve. On va donc créé un événement qui va
permettre d’insérer un nouvel étudiant dans 2 minutes dans la table eleve :
Nous pouvons constater que notre étudiant a bien été inséré dans la table eleve
Event Scheduler ne permet pas de faire de la sauvegarde car il faut qu’on soit déconnecter du
serveur MySql pour l’effectuer. Nous utiliserons donc un cron pour programmer une sauvegarde.
IV.Utilisation d’un exécuteur de script
Cron : programme qui permet aux utilisateurs des systèmes Unix d’exécuter automatiquement
des scripts, des commandes ou des logiciels à une date et une heure spécifiées à l’avance ou
selon un cycle défini à l’avance
Création du script DOS contenant notre instruction de sauvegarde :
Script qui permet de créer une sauvegarde de la base Lycee :
set datej=%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%
c:/wamp/bin/mysql/mysql5.5.24/bin/mysqldump.exe lycee
c:/wamp/bin/mysql/mysql5.5.24/bin/sauvegarde_%datej%.sql
--user
root
--password=""
>
4
On récupère la date du jour au format jj/mm/aaaa. Ensuite, on indique le chemin de la base à
sauvegarde avec le compte utilisateur et le mot de passe, puis on définit le répertoire de
sauvegarde du script avec comme nom sauvegarde + date du jour récupérée.
Installation et paramétrage de notre programmeur :
Nous allons utiliser un programme qui s’appel cronsm.exe. Ce programma va nous permettre de
sauvegarder notre base.
Pour le lancer, il suffit de faire un double clic dessus. Ensuite, le programme apparait dans la
barre des tâches. Il suffit de faire un clic droit dessus et de suivre les instructions suivantes
Ici, nous allons récupérer notre script essai.bat que nous avons auparavant.
On clique sur OK. Ensuite, on refait un clic droit sur le programme dans la barre des tâches, puis
on clic sur Schedule. Cela va nous permettre de définir à quelle fréquence le script sera exécuté.
5
Ici, nous avons demandé d’exécuter à 16h05 tout les jours de tout les mois le script essai.bat
On retrouve bien notre script de sauvegarde dans le répertoire bin de mysql.
6