Ceci est une ancienne révision du document !


1. Sauvegarde de la base

1.1. Première méthode : PHPMyAdmin

Le plus “pratique” est de passer par PHPMyAdmin. Cliquez sur le nom de votre base dans la partie gauche de l'écran afin que les tables et des onglets apparaissent à droite. Videz si besoin la table des sessions (elle contient souvent beaucoup d'enregistrements qui ne sont pas forcément nécessaires) puis de cliquez sur l'onglet “Exporter”. Là, cocher toutes les tables voulues, cocher le format SQL à gauche, et à droite, cocher “Structure” et “Données”. Exporter grâce au bouton en bas à droite.

Cela génère un long texte qu'on peut copier/coller dans un fichier texte nommé, par exemple, backup_smf.sql

1.2. Deuxième méthode : MySQLDump

Cet outil est très puissant, mais n'est pas toujours accessible (en général il l'est sur les serveurs dédiés, mais non mutualisés). Pour cela, se rendre dans un terminal Unix ou sur PuttY sous Windows, loggé en root et taper cette commande :

mysqldump –add-drop-tables -u root -p [nom_de_la_base] > /home/[utilisateur]/backup_smf.sql

La commande demande ensuite : Enter Password : et là il faudra mettre le mot de passe MySQL. (attention, il n'y a pas de petites étoiles quand vous tapez).

Ceci génère directement le fichier SQL dans le dossier choisi, j'ai mis pour exemple /home/[utilisateur] mais arrangez-vous pour le mettre dans un dossier du site afin de pouvoir le récupérer par FTP.

La base est ainsi sauvegardée.

2. Restauration de la base

Je vais expliquer selon les 2 méthodes précédemment décrites comment restaurer une base ainsi sauvegardée.

2.1. Première méthode : PHPMyAdmin

Ouvrez votre base (clic sur son nom à gauche) puis cliquez sur l'onglet SQL. Là vous avez le choix entre une zone de texte ou un téléchargement de fichier (la taille maxi, en général 2 Mo, peut être changée par votre hébergeur). Selon la taille du fichier SQL précédemment généré, optez pour copier/coller morceaux par morceaux dans la zone de texte ou téléchargez-le carrément. ATTENTION : si vous le téléchargez, vérifiez que le jeu de caractères soit bien respecté. En général, sélectionnez “Latin 1” qui correspond au jeu de l'europe de l'Ouest.

Cliquez sur “Exécuter” soit de la zone de texte si vous collez morceaux par morceaux soit du fichier si vous téléchargez ce dernier.

2.2. Deuxième méthode : MySQL

Reloggez-vous sur un terminal ou PuttY en mode root, puis, après avoir pris soin de mettre votre fichier SQL quelque part sur le serveur, restaurez-le avec cette commande :

mysql -u root -p -D [nom_de_la_base] < /home/[utilisateur]/backup_smf.sql

et validez par “entrée”. On vous demande alors Enter Password: qui est, à nouveau, le mot de passe MySQL (du nouveau serveur, cette fois, s'il diffère) et le fichier est exporté.

Il se peut que l'outil MySQL ne “sache pas lire” certaines lignes, notemment toutes celles qui commencent par /*40000 ou LOCK TABLES, vous pouvez mettre en commentaires ces lignes soit en mettant # en début de ligne (attention à bien laisser un espace entre # et le texte) ou par 2 traits d'union (trait d'union : - en dessous de la touche 6 sur un clavier AZERTY) puis le texte (idem, laissez un espace). Assurez-vous de bien conserver les DROP TABLE intacts ( = sans commentaires), les CREATE TABLE, et bien sûr les INSERT INTO …

3. Conclusion

Vous savez maintenant sauvegarder et réimporter une base MySQL. Attention à bien respecter le jeu de caractères, et si PHPMyAdmin “plante” c'est que le temps d'exécution est trop long (par défaut, 30 secondes) : donc copiez un morceau moins long à importer, ou passez (si possible) par l'outil MySQL tel qu'expliqué à la partie 2.2. Un fichier SQL généré grâce à PHPMyAdmin peut être importé via l'outil MySQL et inversément (un dump MySQL créé grâce à MySQLDump peut être importé via PHPMyAdmin)

Matthieu

astuces/sauvegarder_bdd.1188896728.txt.gz · Dernière modification: 2024/01/07 02:31 (modification externe)
Haut de page
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0