©
. Document créé le 19 mai 2007 , mis à jour le 1er février 2011.Si perçante soit la vue, on ne se voit jamais de dos. Proverbe chinois
Accueil du site > Astuces > SPIP > Dupliquer une base SPIP/MySQL
Deux solutions : soit vous décidez de dupliquer la base, soit vous préférez dupliquer les tables de la base dans une nouvelle base de données.
Dans ce premier cas, le nom des deux bases sera identique, mais il vous faudra deux serveurs MySQL. En effet, si vous n’avez qu’un seul serveur, vous n’y gagnerez rien d’autre que d’écraser les données actuelles par les données de votre script SQL de sauvegarde. Cette démarche reste toutefois intéressante pour ... les sauvegardes.
Si cette base de données est sur votre serveur local, et que vous souhaitez dupliquer cette base sur ce même serveur local, vous avez peut-être intérêt à utiliser un terminal et recopier cette base en ligne de commande. Dans ce cas, lisez plutôt le billet Dupliquer une base MySQL.
Un script SQL ne contenant que les données (tables et leur contenu) permet de reconstruire une base de données sous un autre nom de base. C’est cette démarche qui est détaillée ici.
Outil particulièrement efficace, l’interface de PHP My Admin permet d’administrer votre serveur MySQL. Il en existe plusieurs versions, offrant plus ou moins les mêmes fonctions. Les copies d’écran dans cet article sont celles de la version officielle 2.9.2. Pour obtenir PHP My Admin, rendez-vous sur http://www.phpmyadmin.net/.
Lorsque vous vous connectez sur PHP My Admin, voici à quoi ressemble l’interface d’accueil :
Première étape, créer une base de données et y attribuer les droits nécessaires, droits qui ne serviront que pour votre accès SPIP.
Exemple, création de la base « spip_dupli » :
Entrez le nom de la nouvelle base de données puis cliquez sur le bouton « Créer ».
Dans la colonne de gauche, dans le menu déroulant :
Sélectionnez la base que vous souhaitez dupliquer.
La liste des tables apparaît, ce qui vous donne un écran du style :
Cliquez sur le bouton « Exporter » :
La fenêtre d’export apparaît :
Vous pouvez voir dans le champ « Exporter » que toutes les tables sont sélectionnées :
Votre export va être au format SQL :
Le format compressé choisi ici est gzip :
Cliquez sur le bouton « Exécuter ». Votre navigateur vous propose d’archiver le fichier. Enregistrez-le sous un nom cohérent (par exemple : « export-20070519-tables-spip_mon_site »).
Pourquoi compresser ? Tout simplement parce que le téléchargement de fichier, de votre poste sur votre serveur, est limité par la taille, souvent 2 Mo, parfois 8 Mo. Si votre base de données est trop importante, la taille du fichier brut, non compressé, limitera son téléchargement sur votre serveur.
Vous avez perdu la date de création du fichier de sauvegarde ? Pas de problème : décompressez le fichier de sauvegarde, c’est un script SQL, au format texte. Vous trouverez la date de sauvegarde dans les premières lignes de ce fichier décompressé, dans les commentaires du script SQL.
Sous PHP My Admin, dans la colonne de gauche, liste « Base de données » :
Sélectionnez votre nouvelle base « spip_dupli ». La base apparaît sur la droite, au centre de la fenêtre. Elle est vide, c’est normal.
Cliquez sur le bouton « Importer » :
La fenêtre d’importation apparaît. Cliquez sur le bouton « Parcourir ».
Sélectionnez le fichier à importer, validez. De retour sur l’interface, dans la fenêtre « Importation », cliquez sur le bouton « Exécuter ». Le téléchargement de votre fichier commence ici. L’opération prend quelques secondes, soyez patient ! En fin d’import, la fenêtre est rafraîchie, et vous annonce l’heureuse nouvelle :
Cliquez sur le lien de votre base, en haut de la fenêtre :
Les tables de votre base dupliquées apparaissent :
Félicitations ! Votre base est dupliquée.
Les forums sont fermés.