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
© Copyright 2025 ExpyDoc