Intégration Web – Exportation et importation d’une base de données MySQL

LEÇON PRATIQUE

 

Principes de base

Il est possible de faire une sauvegarde d'une base de données. Dans MySQL on parle d'exportation de la base de données.

L'export se fait typiquement vers un fichier texte (extension .sql) qui contient les instructions SQL pour reconstruire la base (tables, indexes, etc) et la remplir avec des données.

Il est possible ensuite d'utiliser ce fichier texte soit pour recréer la base de données sous un autre nom ou sur un autre serveur, soit pour restaurer la base de données comme elle était au moment de la sauvegarde.

 

Exportation

Dans cet exercice on va créer un fichier de sauvegarde pour une base existante dans son système MySQL.

  • Lancer Apache et MySQL
  • Ouvrir l'application web phpMyAdmin
  • Se connecter en tant que root
  • Choisir la base de données à exporter
  • Ouvrir l'onglet "Exporter"
  • Choisir la méthode d'exportation personnalisée
  • Sous le titre "Tables", toutes les tables devrait déjà être sélectionnées - sinon cliquer "tout sélectionner"
  • Sous le titre "Sortie" choisir "Diriger la sortie vers un fichier"
    • si on veut, on peut changer le nom du fichier créé dans le champ "modèle de nom de fichier"
    • garder les valeurs par défaut : jeu de caractères utf-8 et sans compression
  • Sous le titre "Format" on accepte/choisit "SQL"
  • Les autres options par défaut peuvent être acceptées, sauf éventuellement :
    • il faut cocher "ajouter une énoncé DROP TABLE / VIEW / ..."
  • Ce dernier est utile quand on veut écraser une base avec une sauvegarde faite précédemment
  • Appuyer le bouton "Exécuter"

Un fichier sera créé et apparaîtra comme un fichier téléchargé par le navigateur.

Si on a accepté la valeur par défaut pour le champ "modèle de nom de fichier", le fichier sera nommé comme la base. Sinon, le nom que vous avez choisit sera le nom du fichier. Dans les deux cas, le fichier aura l'extension ".sql".

  • Trouver le fichier sur le disque dur / clé USB
  • Ouvrir le fichier avec notepad++
  • On remarque que c'est un fichier texte avec des instructions SQL
  • Regarder le contenu du fichier - est-ce qu'on trouve ses tables et ses données ?

 

Importation

Dans cet exercice on va restaurer la sauvegarde dans une base avec un autre nom.

  • Lancer Apache et MySQL
  • Ouvrir l'application web phpMyAdmin
  • Se connecter en tant que root
  • Créer un nouveau utilisateur avec une nouvelle base de données au même nom (voir la leçon sur ce sujet)
  • sélectionner la nouvelle base
  • ouvrir l'onglet "Importation"
  • Sous le titre "Fichier à importer" cliquer sur "Choisissez un fichier"
  • Naviguer vers le dossier où se trouve le fichier de sauvegarde (créé ci-dessus pendant l'exportation) et le sélectionner
  • Appuyer le bouton "Exécuter" et attendre le message de confirmation
  • Ouvrir la nouvelle base de données et vérifier que la copie a réussie

 

Autre possibilités

Comme mentionné, il est également possible d'utiliser le fichier de sauvegarde pour écraser la base d'où il vient. On fait ceci pour restaurer une base de données à une ancienne version suite à une erreur, un hack ou une corruption par exemple.

Exercice :

  • dans la base de données d'origine du fichier de sauvegarde, faire une modification dans les données
  • restaurer le fichier de sauvegarde vers cette même base (importer vers la base de données d'origine)
  • vérifier que la base de données est revenue à sa version avant la modification