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.

1.3. Troisième méthode : MySQLDumper

Version 1 ou 2 de Smf.

Installer mysqldumper sur son espace web.

Un très bon tutorial ici : http://www.pragmamx.fr/Content-pid-20-page-2.html

Faire un backup de la bdd avec mysqldumper.

Faire un backup intégral du site.


Installer mysqldumper sur le nouveau site.

Faire une restauration intégrale des fichiers.

Mettre à jour le fichier setting.php à la racine du site avec les nouveaux paramètres du serveur.

Charger sur le site officiel le tools repair_settings.php

http://download.simplemachines.org/index.php?thanks;filename=repair_settings.php

Le mettre à la racine et l'exécuter.

Mettre à jour tout les chemins qui sont indiqués dans le tools et sauvegarder.

Quand cela est fait Retirer le fichier par Sécurité.

Voilà lancer l'index du forum et cela doit repartir correctement.

On peut avoir à ce moment un forum sans template. Pas de panique c'est normal.

Aller dans l'admin →> Thèmes et disposition →> Réglage des Thèmes →> Tenter de Réinitialiser tout les Thèmes.

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 importé.

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.txt · 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