Sep
25

Comment j’ai fait sauter ma base de données…

Je passais dans la rubrique Article d’un de mes sites sous WordPress et quand j’ai voulu ajouter un article bizarrement le bouton Publier avait disparu, remplacé par soumettre à la relecture alors que je n’avais encore rien tapé même pas le titre. Et même en cliquant sur le bouton j’avais droit à une belle erreur m’empêchant d’enregistrer.

 

Recherche du problème

Après trois plombes à rechercher d’où venait le problème je met mon nez dans la base de données. Et là c’est le drame ! Celle-ci pesait plus de 1100Mo sur 1000Mo maximum.

Mais c’est bien sûr !

Pour en arriver à 1,1Go de données avec rien que des sites WordPress faut déjà y aller très très fort.

Je regarde plus en détail et que vois-je ? Une table qui a elle seule dépasse 1Go.

De mieux en mieux

Table trop grande.

Donc à savoir : chez 1and1 quand vous dépassez le quota de la base de données (pas celle du FTP) la base passe entièrement en lecture seule. Il n’est alors plus possible de faire quoi que ce soit à part effacer des données.

J’imagine que c’est pareil chez les autres hébergeurs.

 

D’où le problème d’ajout d’articles qui ne voulait pas s’enregistrer.

Comme la base était passée en lecture seule j’ai donc transféré les tables wp_commentmeta et wp_comments dans une autre base. J’ai ensuite effacé les lignes inutiles comme expliqué ci-dessous. Enfin j’ai réimporté la table wp_commentmeta une fois nettoyée.

Nombre de lignes inutiles : Nombre de lignes superflues

Résultat de l’opération : je suis passé de 1,1Go à 35Mo.

Avant :

Table trop grande

Après :

Procédure de nettoyage

Pour faire le ménage avant de dépasser la taille maximum de votre base voici comment faire.

Connectez vous à votre base de données. La plupart du temps les hébergeurs utilisent PhpMyAdmin comme interface.

Cliquez sur l’onglet SQL et entez les commandes suivantes pour voir le nombre de lignes superflues

SELECT * FROM wp_commentmeta
WHERE comment_id NOT IN (
SELECT comment_id
FROM wp_comments)

Pour effectuer la suppression des lignes inutiles entrez la commande suivante, toujours dans l’onglet SQL :

DELETE FROM wp_commentmeta
WHERE comment_id NOT IN (
SELECT comment_id
FROM wp_comments)

 

Mais comment ai-je pû en arriver là ?

Et bien la réponse est très simple. Comme ce blog est en Dofollow il attire un nombre de spams considérable et malgré mon plugin de suppression des commentaires marqués comme spams (Delete Spam Daily), la table wp_commentmeta ne s’est pas nettoyée.

Je vous rassure, le blog restera en Dofollow.

Moralité

Surtout mettez à jour Askimet et installez un plugin de nettoyage.
Vérifiez régulièrement la taille de la table wp_commentmeta (remplacez au besoin le préfixe « wp_ » par le votre).

Le plugin WP-optimize semble faire l’affaire puisqu’il est marqué dans la doc :

  • Remove all the comments in the spam queue
  • Remove all the un-approved comments
  • Apply mysql optimize commands on your database tables without phpMyAdmin.
  • Display Database table statistics. Shows how much space can be optimzied and how much space has been cleared.

Articles similaires :

  • Pas d'articles similaires

45 Comments to “Comment j’ai fait sauter ma base de données…”

  • patrice from Prix des métaux 27 septembre 2013 à 9 h 21 min

    Corbeille à spam en Résumé ;) et j’ajouterai dans la moralité un avis à tous
    les spammeurs  » ARRÊTER DE SPAMMER SUR MON BLOG  »
    patrice@Prix des métaux Articles récents..Marché de l’aluminium : une demande et une offre toutes élevéesMy Profile

  • Guillaume 5 octobre 2013 à 18 h 00 min

    J’ai eu le même problème avec mon premier blog bon j’avais 16 ans… A cause de ça, je l’avais arrêté… Ca m’énerve trop ce genre de soucis, je suis pas quelqu’un de technique moi ! :)
    Guillaume Articles récents..Imprimante / Impression 3D : Prochaine révolution ?My Profile

  • Laura from Blog grossesse 7 octobre 2013 à 13 h 07 min

    Bonjour,

    Je suis vraiment impressionné par le taille de ce fichier, je me demande combien de milliers de spam vous deviez avoir dans la base de données ! Mais pour en arriver là le nombre doit vraiment être considérable !

    Mais c’est vrai que pour les personnes qui ne sont pas dans l’informatique ou disons qui ont un peu de mal avec ce genre de technologies ça peut vite être problématique !

    En tout cas, c’est bon à savoir !

  • Arnaud 7 octobre 2013 à 20 h 18 min

    Ah oui je ne me rapelle plus du nombre de spam mais c’est considérable.
    Mais c’est normal quand on est en dofollow (c’est à dire que les liens sont meilleurs pour le référencement) les robots le détectent et essaient de publier tout et n’importe quoi pour faire des backlinks.

    Donc surtout, quand on fait ça, ne pas oublier d’installer un plugin qui fait le ménage dans la base de données et vérifier qu’il le fait de manière efficace.

  • Sepal 11 octobre 2013 à 12 h 20 min

    Cela m’ai aussi arrivé, sauf que chez Gandi on m’a prévenu :)

    Pour une tout autre raison d’ailleurs c’était les logs d’un logiciel qui pourrissait une table, n’empêche que l’on m’a quand même prévenu…

    Juste pour réagir sur ceci : « Je vous rassure, le blog restera en Dofollow. »

    Laura from Blog grossesse

    Apparemment… non ;-)

    • Arnaud 11 octobre 2013 à 19 h 51 min

      Ah ! Bon ben je vais regarder pourquoi ça s’est désactivé et remettre en dofollow dès que possible alors.

  • agrumeprod 13 octobre 2013 à 10 h 11 min

    Voilà, le dofollow est réactivé.

  • Vincent 14 octobre 2013 à 10 h 13 min

    Cela risque de se présenter. Au moins je pourrai prévenir plutôt que guérir.
    Vincent Articles récents..Rangement de bureau – Zen Cup – 26,00 €My Profile

  • Jane from compatibilité 14 octobre 2013 à 13 h 10 min

    Il m’est arrivé exactement la même chose il y a deux semaines sur un de mes sites de niche. Une horreur, j’étais totalement paniquée. Heureusement un ami a pu me dépanner parce que moi et le SQL ça fait 12 :D
    Jane@compatibilité Articles récents..La compatibilité amoureuse qu’est ce que c’est ?My Profile

    • agrumeprod 15 octobre 2013 à 19 h 55 min

      Et même quand on connait le SQL, il faut encore passer du temps à trouver que les problèmes viennent de là :)

  • pc-iexpress 15 octobre 2013 à 4 h 06 min

    Une tuto qui règle un problème majeur! Déjà la mise à jour d’Askimet va être une priorité sinon peux-tu nous recommander un plugin de nettoyage fiable et efficace? En attendant je vais déjà voir ce qu’il en est exactement côté BDD.
    pc-iexpress Articles récents..Des outils pratiques pour faciliter vos tâchesMy Profile

    • agrumeprod 15 octobre 2013 à 19 h 54 min

      Il est assez difficile de trouver un bon plugin qui fait ça. La plupart des plugins d’optimisation ne disent pas ce qui est fait lors de l’optimisation. En fait le plus souvent ils utilisent la fonction d’optimisation de la base de données, rien de plus. Donc certes ça optimise certaines choses mais ça ne vide pas les données inutiles.

      En gratuit je pense que WP-optimize peut faire l’affaire mais je ne l’ai pas encore testé sérieusement. Il indique la place occupée par chaque table ce qui permet déjà de détecter un éventuel problème.

      En payant il y’a Smart cleanup tools. Je ne l’ai pas testé du tout mais c’est marqué clairement qu’il efface les données inutiles sur la page de vente.

  • patrice from Prix des métaux 16 octobre 2013 à 6 h 58 min

    Une question pour @Sepal , comment reconnaissait vous un blog dofollow du nofollow ? Et si quelqu’un d’autre connait la réponse surtout ne vous gêner pas ;-)
    patrice@Prix des métaux Articles récents..Marché de l’aluminium : une demande et une offre toutes élevéesMy Profile

  • Arnaud 16 octobre 2013 à 15 h 42 min

    Pour le savoir il faut regarder le code source de la page (souvent en faisant un click droit et « code source de la page » ou quelquechose dans le genre).

    Repérez un lien dans les commentaires par exemple (donc entre les balises ).
    Si l’attribut rel= »nofollow » est indiqué le lien est en nofollow, si il ne l’est pas il est en dofollow.
    Par défaut les liens sont dofollow sauf sous WordPress où c’est l’inverse.

    Une autre solution est d’installer la Mozbar (sous Firefox ou Chrome) et de cliquer sur l’icône en forme de crayon. Le plugin va surligner les liens en dofollow.

  • patrice from Prix des métaux 19 octobre 2013 à 6 h 42 min

    Merci Arnaud pour les précision, vous m’apprenez là un nouveau truc
    J’apprécie ton retour ;-)

  • alain from logiciel centre d'appel 21 octobre 2013 à 10 h 13 min

    C’est bien l’explication, Merci pour les efforts !

  • gsm68 23 octobre 2013 à 13 h 39 min

    Oh purée je vais faire gaffe à mes blogs sous wordpress!! Avec joomla j’ai heureusement jamais eu de problèmes!! Merci sincère pour l’info!

  • Mouss from Hype 23 octobre 2013 à 16 h 09 min

    je vais de ce pas installer wp optimize il a l’air vraiment pratique pour ce débarrasser des commentaire indesirable

  • Steve from 123fight.fr 27 octobre 2013 à 14 h 19 min

    Incroyable merci pour cet article je vais moi aussi faire attention à partir d’aujourd’hui!!!

    Merci!!! ;-)

    • Arnaud 27 octobre 2013 à 14 h 27 min

      De rien ;)

      Il est joli votre plugin social en haut à droite. Il s’appelle comment ?

  • Romain from Site sport 27 octobre 2013 à 20 h 07 min

    Merci pour l’article!

    A la lecture de ce dernier, une question me vient à l’esprit. Avoir un blog en dofollow n’est-il pas un handicap? Avoir des spammers qui vous balancent x liens par jour…

    Cordialement,

    Romain
    Romain@Site sport Articles récents..Gustavo Kuerten, l’amoureux de Roland GarrosMy Profile

    • Arnaud 27 octobre 2013 à 20 h 42 min

      Bonjour Romain,

      Non ça ne pose pas de problèmes si on a les plugins qui vont bien pour empêcher d’une part que les spams ne se valident et d’autre part que la base de données soit bien nettoyée derrière.
      Après je ne sais pas si Askimet fonctionne si les commentaires sont validés automatiquement ce qui n’est pas le cas ici. Je les valide moi-même. Je suppose qu’il est prévu pour ça quand même.

      Bref, une fois que c’est bien configuré au départ y’a pas de souci ;)

      Certains plugins offrent également la possibilité de ne donner le dofollow qu’à partir d’un certain nombre de commentaires.

  • Streambreak from film streaming vk 31 octobre 2013 à 12 h 46 min

    Ouhaou, ça calme.
    Pourquoi garder un système en dofollow, qui incite la publication de spam à certains mal attentionnés ou simplement des bots?

    Petite question, le nettoyage de ta table t’as pris combien de temps environ?

    La lenteur du blog vient elle de ce soucis de table saturée?

  • Arnaud 1 novembre 2013 à 16 h 24 min

    Avec les bons plugins qui font le ménage ça ne pose pas de problème. Faut juste surveiller régulièrement.

    Si j’avais fait le ménage à temps ça aurait pris très peu de temps, quelques minutes tout au plus.
    Mais comme là j’avais dépassé mon quota j’ai dû exporter mes tables dans un autre base.
    Le plus long a donc été de tout uploader depuis ma ligne adsl dans l’autre base (242Mo compressés). Je ne me rappelle plus mais ça doit être de l’ordre d’une heure ou deux.
    Après une fois le ménage fait les transferts ont pris très peu de temps.
    Arnaud Articles récents..Comment j’ai fait sauter ma base de données…My Profile

    • Thérapie29 4 novembre 2013 à 13 h 02 min

      le mien aussi est spamé à mort car en dofollow; je vais même peut être revoir ça! Merci pour l’article

  • commentaire 9 novembre 2013 à 9 h 16 min

    J’ai bien ri de cette mésaventure, car elle est le reflet des désagréments causés par un plugin anti-spam efficace. Du coup, on ne s’occupe plus vraiment des commentaires, et on laisse se remplir la colonne des indésirables jusqu’à ras bord. Cet article vient à pour me rappeler que j’en ai près de 200 à nettoyer chez moi :-D

  • Arnaud 9 novembre 2013 à 9 h 21 min

    Héhé, comme quoi un petit rappel n’est jamais inutile :)

  • Steve from Gants de boxe 9 novembre 2013 à 11 h 56 min

    Merci pour cette info cela ne m’est pas encore arrivé mais je saurais être plus prudent à l’avenir ;-)
    Steve@Gants de boxe Articles récents..SAC DE FRAPPE BAD BOY VIDE 180CM – 123,90 €My Profile

  • Maigrir vite 10 novembre 2013 à 21 h 47 min

    Merci pour cette lecture, petit lecture sympathique. Je pars de suite sauvegarder tous mes fichiers et ma base de données ! ;) et je fais les mises à jours conseillées, merci.
    Maigrir vite Articles récents..Maigrir en hiver : 10 conseils pour mincir viteMy Profile

  • cristina from annonce tunisie 18 novembre 2013 à 9 h 05 min

    Merci pour cette explication c’est vraiment intéressante .Je vais de ce pas installer wp optimize il a l’air vraiment pratique pour ce débarrasser des commentaire indesirable

  • mens hair,male hairstyles,short hairstyles 23 novembre 2013 à 23 h 34 min

    Héhé, comme quoi un petit rappel n’est jamais inutile :)

  • Goat gives 28 novembre 2013 à 23 h 15 min

    Merci pour cette lecture, petit lecture sympathique. Je pars de suite sauvegarder tous mes fichiers et ma base de données ! ;) et je fais les mises à jours conseillées, merci.

  • Kavéri 29 novembre 2013 à 19 h 23 min

    Bonjour
    Merci d’abord pour l’info?
    J’ai installé WP Optimise sur mon blog … je viens d’aller vérifier ma bases de données et tout va bien. Mais est-ce que ça se paramètre tout seul ou faut-il faire quelque chose? Je n’y connais rien et peut-être que vous pourriez faire un tuto …. sauf s’il n’y a rien à faire …
    Merci de m’éclairer

    Kavéri
    Kavéri Articles récents..Votre pensée peut tout !My Profile

  • agrumeprod 30 novembre 2013 à 9 h 29 min

    Je vais peut-être faire un article là dessus oui.
    En attendant vous pouvez déjà faire quelques manips.
    Par défaut le plugin est en manuel donc il ne fera rien sans votre intervention.

    Pour faire le ménage dans les spams, décochez tout et cochez « Enlever les métadonnées d’article (postmeta) orphelin. » et « Enlever les commentaires indésirables »
    C’est ça qui prend le plus de place en cas de spam.

    Ensuite cliquez sur « procéder »

  • Cristina from annuaire spa 12 décembre 2013 à 14 h 09 min

    Il est assez difficile de trouver un bon plugin qui fait ça. La plupart des plugins d’optimisation ne disent pas ce qui est fait lors de l’optimisation. En fait le plus souvent ils utilisent la fonction d’optimisation de la base de données, rien de plus. Donc certes ça optimise certaines choses mais ça ne vide pas les données inutiles.
    Cristina@annuaire spa Articles récents..Bracelet Nike+FuelBand SE : un bracelet qui suit vos mouvements et votre activitéMy Profile

  • Jacques from Avocat en Vendée 19 décembre 2013 à 11 h 33 min

    Hé ben, 1Go pour la table de commentaire ???! J’anime un forum auto avec beaucoup de post et de membre, je suis à peine à 200 Mo ! En effet, 1go, c’est bien du spam massif ! :)

  • Paul Mumu 20 janvier 2014 à 18 h 26 min

    C’est pour cela que s’attarder sur la conception de sa base de donnée est essentielle. Il faut pouvoir gérer correctement ces éventualités.
    Paul Mumu Articles récents..Bons plans Rakabulle : UBER, votre chauffeur privéMy Profile

  • jxjnjcd 30 janvier 2014 à 11 h 29 min

    Très bon site. Je l’ajoute de suite à mes favoris. Il marche nickel. Merci pour l’info
    jxjnjcd Articles récents..Choisir le bon table de salle à manger pour votre maisonMy Profile

  • Tabouret de bar 13 février 2014 à 14 h 07 min

    J’ai installé WordPress il y a peu de temps pour mon blog d’entreprise et je vais prendre tes conseils en compte !
    Je te remercie !

  • jack from salle de bain 18 mars 2014 à 21 h 52 min

    Merci Arnaud pour les précision, vous m’apprenez là un nouveau truc
    J’apprécie ton retour ;-)

  • sonia from localiser un portable gratuitement 30 mars 2014 à 9 h 39 min

    Merci pour l info!!! Je viens de faire un dumping et cela m a bien servi!!!

  • Arnaud from serrurier montigny le bretonneux 2 juillet 2014 à 13 h 36 min

    Merci arnaud pour cet article qui nous apprendre comment se debarasser des commentaire inutile. d’ailleur il existe plusieurs plugin qui peuvent nous aider a régler ces problemes.

  • Dépannage informatique 21 août 2014 à 13 h 14 min

    Salut Arnaud
    Passer ton blog en Do follow c est une très bonne initiative …cela va renforcer la popularité de ton site tout en permettant de booster le Seo de ceux qui poste un commentaire ici.
    Depuis que j ai installé Askinet sur mon site WordPress j ai plus de soucis de spam (askinet et captcha) …

  • Max from Allo serrurerie nogent 10 septembre 2014 à 14 h 48 min

    Bonjour arnaud,
    Des spammeurs, il y’en a partout, c’est pour ça qu’il ont conçu des plugin tell que Keywordluv, Commentluv et je pense que même avec ces plugins il faut avoir une modération manuel des commentaires. comme ça tu ne fera plus « sauter ta base de données » ah en effet, Merci pour ses conseils
    Max@Allo serrurerie nogent Articles récents..Bonjour tout le monde !My Profile