Archiver base de donnee phpmyadmin wordpress
Archiver base de donnee phpmyadmin wordpress

Si l’archivage de votre serveur via une connexion ftp s’avère indispensable pour sécuriser tous vos fichiers (ne manquez pas ce suivre la leçon sur Filezilla si vous ne l’avez pas encore fait), l’archivage de votre base de données est tout aussi capitale pour sécuriser toutes les liaisons, les textes et les contenus de votre site. Perdre votre base de données, c’est perdre l’ensemble du contenu de vos articles et de vos pages, c’est pourquoi WordPress vous conseille d’archiver régulièrement et préventivement avant toute mise à jour du CMS (même si ces propos sont à relativiser depuis la version 3.8….Mais bon).
Votre base est généralement gérée par phpMyAdmin, un programme qui s’occupe d’interagir avec votre base, de la gérer et de l’administrer. Il n’est pas nécessaire d’en connaître le fonctionnement, néanmoins l’identification des principaux outils peut vous être utile en cas de coup dur (comme la perte de vos identifiants de connexion par exemple). Dans cet article nous présenterons deux solutions qui vous permettront soit de passer par ce programme pour sécuriser vos données, soit d’utiliser une extension dédiée.

Optimiser votre base de données

> Avec PHPMyAdmin

Pour préparer l’archive d’une BDD (base de donnée), il peut être utile d’optimiser celle-ci. Les plus expérimentés passerons par PhpMyAdmin (normalement disponible dans l’espace d’administration de votre hébergement, à coté de votre base de données) qui propose menu assurant cette optimisation ; ce menu jouxtant d’autres opérations comme la suppression de la base, il s’agit de vraiment porter toute l’attention nécessaire à cette opération.

Optimiser sa base de donnée
1 Sélectionnez tout d’abord votre BDD dans la page d’accueil. Il est probable qu’elle se nomme db (comme database) ou qu’elle se nomme du préfixe que vous aurez choisi lors de l’inscription de votre site WordPress

Optimiser sa base de donnée avec PHPmyadmin
2Cocher l’ensemble de vos tables en cliquant sur tout cocher

WordPress base de données
3 Sélectionnez avec soin « Optimiser la table ». D’autres opérations sont également possibles avec ce menu : prenez son de choisir la bonne ! L’optimisation ne dure que quelques secondes : votre table est alors optimisée

> Avec une extension dédiée

On peut également passer par un plugin qui se nomme WP optimize et qui permet de le faire sans le concours de PhpMyAdmin. Cette extension permet également de supprimer les révisions d’articles qui peuvent facilement plomber votre base si vous faites beaucoup d’aller-retour et de supprimer d’un seul coup tous les commentaires classés comme spam. Vous ne gagnerez à l’issue que quelque Ko (voire quelques Mo si votre base est importante) ; ces kilo octets peuvent cependant interagir dans la rapidité d’affichage de votre site.

Archiver votre base de données

> Avec PHPMyAdmin

PHPMyAdmin offre une possibilité simple et pérenne d’archiver votre site WordPress. Même si cette solution est un plus complexe et délicate à mettre en œuvre (et qu’elle ne peut pas facilement s’automatiser), elle offre le grand avantage de n’être lié à aucun plugin qui pourrait rajouter des éléments exotiques à votre archivage, où dont le développement pourrait s’arrêter du jour au lendemain.

Nous considérons que vous avez déjà optimisé votre BDD et que l’ensemble des tables de votre base de données est déjà affiché. Cliquez alors sur l’onglet EXPORTER en haut de votre fenêtre PHPMyAdmin pour arriver au menu ci-dessous.

Archiver son site WordPress avec phpmyadmin

1 Commencez par sélectionner l’ensemble de vos tables en cliquant « tout sélectionner ». Assurez-vous également que l’export se fera au format SQL

2Les cases cochées dans la partie Structure et données peuvent être laissées cochées par défaut si vous restez dans la configuration par défaut proposée par le logiciel. Vous pouvez également suivre la préconisation que WordPress donne et que j’ai reproduit ci-dessus.

3Cochez la case Transmettre puis choisissez si vous désirez un archivage zippé (avantage le poids) ou non compressé (avantage la lisibilité). Appuyez sur la case Exécuter ; votre archivage prendra de quelques secondes à quelques minutes à s’accomplir selon le poids de votre base de données ou selon la rapidité de votre connexion. Votre navigateur propose alors de télécharger cette archive, appuyer sur OK

Si votre archivage est long et très conséquent, il se peut que vos outils statistiques, ou votre anti-spam viennent alourdir inutilement votre backup. Dans ce cas, vous pouvez désélectionner certaines lignes de base de données dans l’étape 1. Un outil comme WP-Optimize pourra vous indiquer le poids respectif de vos tables.

archiver base de données WordPress

> Le stockage de vos archives

Vous avez téléchargé l’archive de votre base de donnée. C’est bien entendu un fichier important dont il faut prendre soin : ce fichier contient de nombreuses données sensibles qu’il ne faut pas laisser sans protection.

  • Il est intéressant de conserver l’archivage de votre BDD avec celles que vous avez faite les mois précédents. Pour cela nous vous invitons à horodater l’archivage avec la date du jour (ex : db352636.sql-23012012.zip pour un archivage le 23 Janvier), et de procéder ainsi de manière incrémentale (gardez au moi 3 à 6 mois d’antériorité selon le trafic de votre site). Si vous hésitez sur le contenu de tel ou tel archivage, un simple lecteur de texte que WordPad ou Notepad++ pourra vous permettre de lire.
  • Vous pouvez doubler votre archivage local par un archivage sur votre propre serveur. Soyez tout de même conscient que cette opération peut-être risquée si votre serveur n’est pas sécurisé convenablement. Vous pouvez également sécuriser cet archivage sur des espaces tels que Dropbox qui offre un hébergement gratuit pour 2Go et Amazon S3 qui vous permettent de le faire pour quelques deniers. Je n’ai pas testés ces système mais je vous les recommande eut égard à leur réputation.

> Avec une extension dédiée

Il existe de nombreuses extensions qui vous permettent d’automatiser l’archivage de votre site. Nous nous concentrerons sur une des solutions les plus reconnues : BackWPup. Ce plugin sauvegardera votre base de données et l’ensemble de votre site, manuellement ou à intervalle régulier. C’est une extension qui autorise également la vérification des tables, et dont j’aurai l’occasion de parler plus prochainement.

Pour les plus avancés (ou aventureux) d’entre-vous

Il se peut que vous ayez besoin d’intervenir directement sur votre base de données MySQL afin de corriger un chemin défectueux, ou réparer une URL après un déménagement de votre site. Il vous faut pour cela vous connectez-vous à la base de données MySQL de votre site (accessible dans PhpMyadmin), laquelle héberge toutes les tables de WordPress de votre site. Attention : ces manœuvres sont délicates et un oubli d’un seul signe dans la commande SQL, peut mettre en péril la stabilité de votre site.

Faites tout d’abord un archivage complet de votre base de données. Vous pouvez mette ensuite à jour les options d’un nouveau site (après déménagement), grâce aux lignes de codes SQL suivantes. Ces commandes sont issues du site de Jordi Plana que je remercie :

#articles
UPDATE wp_options SET option_value = replace(option_value, 'http://www.AncienDomaine', 'http://www.NouveauDomaine') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = replace(guid, 'http://www.AncienDomaine','http://www.NouveauDomaine');
UPDATE wp_posts SET post_content = replace(post_content, 'http://www.AncienDomaine', 'http://www.NouveauDomaine');
UPDATE wp_postmeta SET meta_value = replace(meta_value,'http://www.AncienDomaine','http://www.NouveauDomaine');

#commentaires
UPDATE wp_comments SET comment_author_url = REPLACE (comment_author_url, 'AncienDomaine', 'NouveauDomaine');
UPDATE wp_comments SET comment_content = REPLACE (comment_content, 'AncienDomaine', 'NouveauDomaine.com/');
UPDATE wp_commentmeta SET meta_value = REPLACE (meta_value, 'AncienDomaine', 'NouveauDomaine');

#liens
UPDATE wp_links SET link_url = REPLACE (link_url, 'AncienDomaine', 'NouveauDomaine');
UPDATE wp_links SET link_rss = REPLACE (link_rss, 'AncienDomaine', 'NouveauDomaine');

#options
UPDATE wp_options SET option_value = REPLACE (option_value, 'AncienDomaine', 'NouveauDomaine');

#usermeta
UPDATE wp_usermeta SET meta_value = REPLACE (meta_value, 'AncienDomaine', 'NouveauDomaine');

Les questions que vous pourriez être amenées à vous poser

→ Pourquoi PhpmyAdmin affichez une erreur #1046 lors de la ré-importation de la base de donnée ?
Regardez avec attention votre fichier .sql issu de votre archive : elle contient probablement une mention  »USE ancienne-base-de-donnee;’ . Pour contourner cela, il vous suffit d’ajouter avant les mentions « create table »

USE votre-nouvelle-base-de-donnees;

Pour résoudre le problème. Ne manquez pas de compresser à nouveau (au format .zip par exemple) votre fichier avant de l’importer.

→ Quelle fréquence devrais-je sauvegarder, Combien dois-je conserver de sauvegardes?
Comme nous l’avons déjà précisé, cela dépend largement du trafic sur votre site (donc des commentaires apportés par exemple) et de votre rythme de publication. Il peut être intéressant d’automatiser la sauvegarde ET de la faire également de façon immédiate en cas de gros changement. N’oublie pas que la sécurité de votre site dépend également de la bonne tenue des mises à jour du cœur de WordPress et de vos plugins . Très récemment, un site célèbre et reconnu s’est fait piraté car un blog inutilisé était accessible via une ancienne version de WordPress (laquelle à offert une porte arrière à l’ensemble du site).

Quel autre plugin existe ?
Mon article n’a pas pour vertu de faire un benchmark des plugins. Gardez en tête qu’un bon plugin de sauvegarde est un programme qui doit avoir été très téléchargé auparavant (la popularité prouvera sans doute son efficacité). Il doit être simple dans son utilisation et ne doit pas fabriquer des sauvegardes exotiques que seul le plugin pourra relire (si le dev met la clef sous la porte, vos sauvegardes iront alors toutes à la poubelle). Un bon plugin peut également proposer un forum d’aide et un support technique adapté. En outre il ne doit rien coûter à mon sens (sauf s’il propose l’hébergement de votre archive).

Merci de votre attention. N’hésitez pas à commenter cet article. Je vous répondrai dès que possible !

8 réponses
  1. Matthieu Brown
    Matthieu Brown dit :

    Bonjour,

    J’utilise le plugin WP Optimize pour la bonne et simple raison que je suis plutôt du genre tête en l’air et que celui-ci travaille sans avoir besoin qu’on le lui dise.
    Par contre concernant les plugins de sauvegarde automatique, aucun ne m’a donné entière satisfaction jusqu’ici, alors je suis contraint à penser à faire régulièrement moi-même des sauvegardes manuelles de mes nombreuses bases de données.
    La solution serait peut-être d’opter pour Vaultpress ou équivalent. Savez-vous si cela vaut vraiment le coût?
    Je vous remercie d’avance pour votre réponse.

    Matt

    Répondre
    • Fabrice Court
      Fabrice Court dit :

      Bonjour Matthieu,
      Merci de votre commentaire.
      Je vous avoue que je n’utilise pas non plus de programme automatique de sauvegarde, et que je le fais à la main. Ne connaissant pas assez VaultPress, je ne peux par contre pas m’exprimer sur ce point pour le moment (à suivre donc…).

      Répondre
  2. Aurélie
    Aurélie dit :

    Je sais pas si je suis la seule, mais ca fait des mois que WP-DB-Backup ne m’envoie plus les sauvegardes par mail, à différente fréquence.

    Ca marche bien manuellement, mais c’est tout.

    Est ce que toi aussi?

    Répondre
    • FabriceCourt
      FabriceCourt dit :

      Bonjour Aurélie,
      A priori, votre souci est partagé par nombre d’utilisateur de cette extension. J’ai trouvé beaucoup de forum anglophone qui en parlait sans toutefois proposer une solution. Austin Matzko l’auteur de ce plugin rapporte que cela pourrait être en corrélation avec le nombre de plugin déjà utilisé ou la vélocité du serveur.
      Attention : il est déconseillé de laisser des backups de votre BDD sur le serveur. Cela pourrait être une grosse faille de sécurité si l’on forçait votre accès ftp.

      Répondre
  3. Elise
    Elise dit :

    Bonjour Fabrice,
    Je constate avec bonheur que cette programmation est faite sur mon site ! Sauf que depuis 1 mois, je ne reçois plus le mail de confirmation de cette sauvegarde ( cela fonctionnait parfaitement avant..). Y-a-t-il dans la procédure que tu décris un endroit où vérifier ce bug ?
    Merci d’avance Fabrice ! et vraiment merci de ces articles plus que pertinents et clairs !
    A bientôt

    Répondre
    • FabriceCourt
      FabriceCourt dit :

      Bonjour Elise,

      Merci de ton aimable message !
      Je ne vois rien sur le forum en anglais de l’extension que tu emploies, qui expliquerait ce que tu décris. Je me suis permis de re-enregistrer les paramètres de la programmation de l’archivage pour voir si cela résolvait la question.

      Excellente soirée !

      Répondre

Trackbacks (rétroliens) & Pingbacks

Ajouter un commentaire

Rejoindre la discussion?
N'hésitez pas à contribuer !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *