[Sauvegarde / restauration MySQL] Comment exporter / importer une base de donnée MySQL ?

 

Sauvegarder sa base de données MYSQL


Rendez-vous dans la console de gestion et dans la section "Base de données", cliquez sur "PhpMyAdmin". Grâce à la capture d'écran ci-dessous, suivez les étapes numérotées et les explications.




1- Sélectionnez votre base de données en cliquant sur son nom dans la colonne de gauche. Si vous en avez plusieurs, il sera nécessaire de répéter chaque étape pour chaque base de données. Pour information, les noms qui apparaissent en dessous sont les noms des tables de votre base de données. Il y en a obligatoirement une mais la plupart du temps, il y en a plusieurs, parfois plusieurs dizaines.

2- Dans les onglets en haut de l'application, sélectionnez "Exporter"

3- Dans le champ "Exporter" de la page, assurez-vous que SQL soit sélectionné puis cliquez sur "Tout sélectionner". Vous sélectionnez en fait les tables de votre base de données. Puisque vous recherchez à faire une sauvegarde complète de votre base, il convient donc de tout sélectionner mais il est possible d'en sélectionner une seule à chaque fois et de répéter l'opération.

4- Cochez "Structure". Il s'agit là de sauvegarder le nom des tables, et le nom des champs de la table c'est à dire comment est arrangée votre base de données. En quelque sorte, cela représente un tableau destiné à recevoir des données mais sans le contenu. Les options qui ne sont pas cochées dans la capture peuvent servir dans certains cas précis, par exemple pour restaurer ensuite une base de données avec des tables non vidées (DROP TABLE), créer les tables sous condition (IF NOT EXISTS) etc... A moins de savoir ce que vous faites, contentez-vous d'utiliser les options de la capture.

5- Cochez "Données". Cette fois il s'agit du contenu de votre base, le plus important en quelque sorte. Dans la capture ci-dessous les options "insertions complètes" et "insertions étendues" ne sont pas cochées. Rassurez-vous, que vous ayez coché ou non ces options en changera en rien le contenu sauvegardé, c'est seulement la façon dont il sera sauvegardé qui changera.

Pour information, en cochant seulement "Étendues" vous allégerez votre sauvegarde mais cela pourrait causer des problèmes si vous êtes amené à découper votre sauvegarde pour restauration. Si vous cochez seulement "Complètes", cela donnera une sauvegarde très lourde avec des instructions rappelant à chaque entrée la structure de chaque champ. Si vous cochez les deux, "Étendues" et "Complètes", la structure du champ ne sera rappelé qu'une fois (sauvegarde quasi-similaire à "Étendue" seul). Et enfin, si vous ne cochez rien, comme dans notre exemple, cela rappellera les instructions d'insertions pour chaque entrée (comme "Complètes") mais sans rappeler la structure de chaque champ, ce qui me parait être un bon compromis et vous permettra de découper facilement votre sauvegarde sans générer non plus un fichier trop lourd.

6- Cochez "Transmettre". Important, car si vous ne cochez pas cette case, PhpMyAdmin ne vous proposera pas de télécharger la sauvegarde mais se contera de vous l'afficher. Bon à savoir, mais ce n'est pas notre but ici. Dans le cas d'une sauvegarde de bases de données importantes, vous avez la possibilité de "zipper" (.zip) ou de "gzipper" (.gz) votre fichier de sauvegarde (par défaut au format .sql), c'est à dire de le compresser pour obtenir un fichier moins lourd.

7- Enfin, cliquez sur "Exécuter" et patientez pendant la préparation de votre sauvegarde jusqu'à ce qu'une fenêtre de téléchargement vous propose de récupérer la fichier généré. Sauvegardez-le fichier .sql obtenu (ou .zip ou .gzip) sur votre ordinateur.

Restaurer sa base de données MYSQL

Rendez-vous maintenant dans PhpMyAdmin, cette fois-ci pour restaurer votre base de données.

Créer la base de données

Si ce n'est déjà fait, il vous faudra créer la base de données avant de la restaurer. Simple formalité à réaliser sur depuis Apanel :

Choisir "Gestionnaire MySQL" puis Ajouter une base de données


Puis, retour sous PhpMyAdmin :

Importer le fichier SQL



1- Sélectionnez la base de données concernée, celle que vous venez de créer donc si vous n'en aviez pas auparavant. On vous signale qu'aucune table n'est présente dans cette base et c'est tout à fait normal à ce stade.

2- Sélectionnez l'onglet "Importer"

3- Cliquez sur "Parcourir" et sélectionnez votre fichier de sauvegarde .sql qui se trouve maintenant sur votre ordinateur. Si vous aviez choisi de compresser votre base de données lors de l'exportation, c'est le fichier .zip ou .gz que vous désignerez, PhpMyAdmin détectera automatiquement le format de la sauvegarde et se chargera de décompresser le fichier sur le serveur pour accéder aux instructions du fichier SQL. Quant au jeu de caractères du fichier, n'y touchez pas dans un premier temps. N'étant pas spécialiste, je ne m'étends pas sur la question mais c'est une option avec laquelle vous pourrez jouer si vous constatez un problème avec les caractères une fois votre base de données restaurée.

4- L'option d'importation partielle va vous permettre de poursuivre une restauration en cas d'échec, lorsque le temps utilisé par le serveur pour injecter les données sera trop important. Là encore, je ne m'étends pas sur la question car bien qu'ayant déjà utilisé cette option, je manque de documentation et de connaissances pour vous en dire plus.

5- Cliquez sur "Exécuter" pour envoyer le fichier et attendez patiemment le résultat renvoyé par PhpMyAdmin qui devrait s'afficher juste sous l'onglet et devrait ressembler à "L'importation s'est terminée avec succès, xxx requêtes exécutées."