Sauvegarde et restauration de grosse base de données
Voici un tuto pour vous aider à manipuler vos bases données.
La sauvegarde et la restauration des bases, peut parfois devenir une tache assez lourde, surtout si l'on se retrouve a manipuler des tables de plusieurs méga-octets.
Je vous propose des exemples et des outils pour vous aider au mieux dans cette tache, d'après mes experiences et mes connaissances.
PhpMyAdmin.
Le plus répandue, mais aussi le plus pénible pour les grosses base de données. En générale, les fichiers de plus de 2048 Ko (zippé ou non) ne sont pas traités, surtout si l'on as une connexion pas trop rapide, le upload ne se fini généralement pas.
Et même si ça se finie, on se retrouve généralement face à une erreur de timeout, qui ne fini généralement pas à mettre toutes les données, et on se retrouve avec une base inachevé et corrompu.
La sauvegarde. (ou exportation)
La sauvegarde de votre base ou des tables, se passe généralement très bien, même pour les grosses bases, le back up est simple.
Une fois dans PhpMyAdmin, dans la page principale, repérez dans le menu du haut, le menu ‘Exporter’, cliquez dessus.
Une page s’ouvre, avec une partie Schéma et données de la base, et une partie Transmettre.
Pour exporter la base avec les options par défauts, il suffit juste de cocher la case Transmettre, choisir le format de compression, et de cliquer sur Exécuter.
Une nouvelle fenêtre vous demandera ‘où voulez-vous enregistrer le fichier’, choisissez votre répertoire, et cliquez enregistrer.
Options avancées.
A venir.
La restauration.
Figure I. Votre fichier de sauvegarde est plus petit que 2048 Ko.
Et bien la, suivant votre connexion Internet, tout devrait bien se passer.
Pour effectuer la restauration, il suffit de repérer le menu du haut dans la page principale, le menu ‘Importer’.
Dans la partie Fichier a importer, cliquez sur Parcourir, vous ouvrirez un explorateur de fichiers, qui se trouve sur votre disque dur, aller dans le répertoire de fichier de sauvegarde, et sélectionnez le.
Une fois ceci fait, cliquez sur exécuter, en bas a droite. Votre fichier sera envoyé sur le serveur et les requêtes exécutés.
La restauration est en théorie terminée, très simplement, si le fichier n’est pas volumineux.
Figure II. Le volume de votre fichier de sauvegarde est plus grand que 2048 Ko
C’est la que les choses se compliquent.
En effet les problèmes seront plus nombreux, suivant votre connexion, si vous possédez une connexion 56K par exemple (et si, il y en a encore !), ou alors suivant la taille de votre base de données, qui peut très vite monter a des dizaines de méga-octets.
Donc le problème, est qu’il va falloir découper en petit morceau le fichier de sauvegarde, voici la procédure, et une proposition d’outils GRATUITS pour faire tout ça.
1- Découpe du fichier Sql.
Alors attention à ne pas confondre avec une découpe de fichier classique.
Par exemple si l’envie vous prenez de découper le zip avec winace, winzip ou winrar par exemple, ou avec Splitter par exemple qui est la aussi un autre exemple de découpe, sachez que tout cela ne marchera pas, et que vous aller corrompre les données, car en effet, vous risquer pratiquement a 100% de couper le fichier en pleine requête, ce qui bien sur conduira à une inévitable erreur.
Il faut utiliser un outil, qui va analyser votre fichier, et le découper suivant la taille, avant ou après une requête.
Pour ma part, j’utilise SqlDumpSplitter, très simple d’emploi, et qui en plus est totalement gratuit.
Voici le lien pour télécharger directement le logiciel : http://files.spiralezone.com/SQLDumpSplitter.exe
Comment ça marche ?
Step 1 : Chose file…
Cliquez sur browse, puis explorer votre disque pour trouver votre sauvegarde Sql.
Step 2 : Set maximum filesize
Je vous conseille de découper les fichiers avec une taille de 1000 Kilo bytes
Step 3 : Chose target directory
Vous pouvez laissez vide, un répertoire sera automatiquement créé dans le répertoire où ce trouvait votre fichier de sauvegarde.
Step 4 : Options and execute
Laissez cocher ou cochez ‘Skip comments lines’, pour ne pas insérer les lignes de commentaires, qui alourdissent les fichiers inutilement.
Un fois bien vérifié et configuré, cliquez sur Exécute.
Une fois l’opération terminée, le nouveau répertoire ‘SQLDumpSplitterResult’ sera créée.
A l’intérieur se trouve les fichiers Sql découpé, ainsi qu’un fichier contenant la structure.
2- Compression des fichiers.
La compression devra être au format GZip pour certains serveurs qui n'autorisent simplement pas le zip, il suffit d’utiliser cet utilitaire, gratuit lui aussi, pour compresser les fichiers.
Site de l’éditeur : http://www.gzip.org/index-f.html
Pour faire rapide, on va copier ce fichier dans le répertoire ou se trouve nos fichiers découpés.
Il suffira une fois dans l’explorateur de fichiers, de faire un glisser/déposé sur le fichier gzip.exe, les fichiers seront compressé et les anciens fichiers SQL effacés.
3- Transfert sur le serveur.
Une fois que l’on a tous les fichiers, et bien il suffit de les importer dans les tables
Dans la partie Fichier a importer, cliquez sur Parcourir, vous ouvrirez un explorateur de fichiers, qui se trouve sur votre disque dur, aller dans le répertoire de fichier de sauvegarde, et sélectionnez le.
ATTENTION ! Il faut en 1er transférer le fichier nomfichier_DataStructure.sql afin de créer la structure de la base et des tables.
Une fois ceci fait, cliquez sur exécuter, en bas a droite. Votre fichier sera envoyé sur le serveur et les requêtes exécutés.
Faites de même avec tous les fichiers, dans l'ordre de la numérotation.
La restauration est terminée.










