[Résolu] quota bdd dépassé et optimisation bdd par PhpMyAdmin (Créer un compte)

  • WordPress :6.4
  • Statut : résolu
15 sujets de 1 à 15 (sur un total de 33)
  • Auteur
    Messages
  • #2472822
    Pingouinmanchot
    Participant
    Chevalier WordPress
    106 contributions

    Bonjour,

    Ma configuration WP actuelle

    • Version de PHP/MySQL :
    • ### wp-core ###version: 6.5.2
      site_language: fr_FR
      user_language: fr_FR
      timezone: Europe/Paris

      wordpress : 6.5.2 fr

      server_architecture: Linux 5.15.41-ovh-vps-grsec-zfs-classid x86_64
      httpd_software: Apache
      php_version: 8.1.23 64bit

      extension: mysqli
      server_version: 5.7.42-log
      client_version: mysqlnd 8.1.23

    • Thème utilisé :
    • Extensions en place :
    • Nom de l’hébergeur : OVH
    • Adresse du site : https://www.pepiniere-courtin.fr/

    Nota : comme je n’ai plus accès à l’interface du site, j’ai repris les anciennes informations données par le site lors de ma précédentes questions.

    Problème(s) rencontré(s) :

    Bonjour à tous,

    J’ai reçu un mail de la part d’OVH indiquant que le quota de la bdd est atteint et dépassé.

    Actuellement, à cette heure-ci, l’interface ovh m’affiche une barre rouge 219 Mo avec un maxi de 200 Mo.

    L’accès à l’interface de gestion du site est bloqué. Je ne peux donc pas utiliser les plugins pour optimiser la base de données.

    Il me reste 2 solutions :

    – utiliser PhpMyAdmin pour alléger la base

    – ou prendre un abonnement plus cher pour retrouver l’accès au site.

    J’ai donc utilisé PhpMyAdmin. J’ai repéré la table qui est la plus volumineuse avec 198 Mo. Elle s’appelle wp_options.

    J’ai sélectionné la table et j’ai lancé la commande optimiser la table.

    Depuis, les stats de l’infrastructure ont baissé mais pas le quota.

    Comment alléger la table wp_options avec PhpMyAdmin ?

    Merci d’avance.

    Cordialement,

     

     

     

    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
    #2472825
    momofr@free.fr
    Modérateur
    Maître WordPress
    7035 contributions

    Salut, en premier sélectionne toute les tables et optimise-les.

    Le plus souvent ce sont les révisions qui grossissent la base de données (et les transitoires en second).

    Tu as une commande SQL pour vider les révisions, il te faut mettre le bon préfixe à la table dans ce code exemple ci-dessous :

    DELETE FROM 'wp_posts' WHERE 'post_type' = 'revision'

    Ça devrait te faire gagner pas mal de Mo.

    Par la suite tu peux limiter les révisions avec ce code dans le fichier wp-config.php :

    define( 'WP_POST_REVISIONS', 5); // limite à 5 révisions

    Je met ce code juste après la ligne qui défini le préfixe des tables SQL (ligne 69/70 environ).

    #2472829
    ferman
    Participant
    Maître WordPress
    6996 contributions

    Il y a une petite erreur de syntaxe. Pour la première commande, il ne faut pas d’apostrophes autour de wp_posts. Soit on ne met rien soit des apostrophes de ce type ` 🙂

    • Cette réponse a été modifiée le il y a 1 semaine et 6 jours par ferman.
    #2472831
    Pingouinmanchot
    Participant
    Chevalier WordPress
    106 contributions

    Merci de votre réponse.

    Je viens d’essayer la commande comme vous la conseillez :

    DELETE FROM ‘wp_options’ WHERE ‘post_type’ = ‘revision’

    et j’obtiens ce message :

    #1064 – Erreur de syntaxe près de  »wp_options’ WHERE ‘post_type’ = ‘revision » à la ligne 1

    Petit rappel : wp_options est la table la plus volumineuse.

    Que faudrait-il taper exactement pour supprimer l’erreur ?

     

    #2472832
    Pingouinmanchot
    Participant
    Chevalier WordPress
    106 contributions

    Ah, je viens de voir la réponse de Ferman.

    J’essaie sans les apostrophes et je reviens après.

     

    #2472833
    Pingouinmanchot
    Participant
    Chevalier WordPress
    106 contributions

    Effectivement, cela ne donne plus d’erreurs.

    Mais il n’a rien supprimé.

    Réponse de mysql :

    0 ligne supprimée. (traitement en 0.0005 seconde(s).)

    • Cette réponse a été modifiée le il y a 1 semaine et 6 jours par Pingouinmanchot.
    #2472837
    Pingouinmanchot
    Participant
    Chevalier WordPress
    106 contributions

    Je viens de réessayer la commande :

    DELETE FROM wp_options WHERE ‘post_type’ = ‘revision’

    Réponse de mysql cette fois-ci :

    #1054 - Champ '‘post_type’' inconnu dans where clause

    Dans la structure de la table wp_options, je lis ceci :

    1 option_id Primaire bigint(20) UNSIGNED Non Aucun(e) AUTO_INCREMENT
    2 option_name Index varchar(191) utf8_general_ci Oui NULL
    3 option_value longtext utf8_general_ci Non Aucun(e)
    4 autoload Index varchar(20) utf8_general_ci Non yes

    Sans doute le nom d’un champ qui n’est pas bon ?

     

    #2472838
    ferman
    Participant
    Maître WordPress
    6996 contributions

    Le champ post_type n’existe que dans la table wp_posts; il faut donc appliquer la commande de Momo telle qu’elle est écrite (mais sans les apostrophes). Je pense que l’idée de Momo (il confirmera j’espère) est de débarrasser la table wp_posts (même si elle n’est pas la plus grosse) des révisions de façon à redescendre en dessous du quota autorisé afin de pouvoir utiliser une extension de nettoyage de base de données. Ce serait beaucoup plus simple que de nettoyer manuellement (avec des requêtes SQL).

    Si la requête ne donne aucun résultat pour la table wp_posts, c’est qu’elle ne contient aucune révision.

    Utilisez-vous un plugin de sécurité (word fence ou autre)?

    • Cette réponse a été modifiée le il y a 1 semaine et 6 jours par ferman.
    • Cette réponse a été modifiée le il y a 1 semaine et 6 jours par ferman.
    #2472844
    Flobogo
    Modérateur
    Maître WordPress
    20124 contributions

    Bonjour,

    Attention aux apostrophes. Comme l’a dit @ferman, ce n’est pas une apostrophe courbe, ni même une apostrophe simple (touche 4 sur clavier) mais une « apostrophe de code » (touche 7 + espace)

    Autrement dit, le code est à copier à partir de ceci :

    DELETE FROM 'wp_options' WHERE 'post_type' = 'revision'

    Et bien sûr, dans ce code, il faut remplacer wp_ par votre propre préfixe de table si il est personnalisé

    #2472845
    ferman
    Participant
    Maître WordPress
    6996 contributions

    …et remplacer wp_options par wp_posts.

    #2472856
    Pingouinmanchot
    Participant
    Chevalier WordPress
    106 contributions

    Bonjour à tous,

    Je viens de corriger la commande sql.

    Je tape ceci :

    DELETE FROM wp_posts WHERE post_type = ‘revision’

    Réponse :

    2 lignes ont été supprimées.

    Sinon, pour répondre à la question de ferman, oui, j’utilise wordfence.

    Et pour la table wp_options, supprimer quelques lignes car elle représente 198 Mo à elle seule pour un max de 200.

     

    Encore merci.

    Cdt,

     

    #2472859
    ferman
    Participant
    Maître WordPress
    6996 contributions

    Bonjour,

    Utilisez cette requête sql qui devrait vous permettre de voir ce qui prend le plus de place dans la table wp_options

    SELECT option_name, length(option_value) AS option_value_length FROM wp_options ORDER BY option_value_length DESC LIMIT 10;

    #2472861
    Pingouinmanchot
    Participant
    Chevalier WordPress
    106 contributions

    Cela donne ceci :

    googlefonts_data 101231
    wp_installer_settings 85532
    bwp_minify_detector_log 69914
    cookie_notice_app_blocking 65843
    rank_math_seo_analysis_results 47410
    ninja_forms_addons_feed 29923
    wps_limit_login_logged 29902
    _site_transient_update_plugins 26599
    rewrite_rules 21512
    wpuxss_eml_mimes 17748

     

    #2472862
    Pingouinmanchot
    Participant
    Chevalier WordPress
    106 contributions

    Pour info, je ne me sers plus des 2 plugins suivants qui apparaissent dans ces lignes :

    rank math (utilisation d’un autre outil SEO) et ninja (non compatible avec wordpress actuel).

     

     

    #2472867
    ferman
    Participant
    Maître WordPress
    6996 contributions

    Faites une sauvegarde de votre base de données + une de la table wp_options.  Ensuite vous pourrez éliminer certaines options qui ne servent à rien.

    A commencer par:

    DELETE FROM `wp_options` WHERE option_name = 'rank_math_seo_analysis_results' OR option_name = ' ninja_forms_addons_feed ' ;

    Ensuite retournez chez OVH et recalculez le quota.

    Si vous êtes en dessous, vous pourrez télécharger le plugin wp-sweep et nettoyer votre bdd plus complètement.  Suivant le résultat, il pourra être utile de nettoyer un peu manuellement.

    Si vous êtes au-dessus, il faudra répéter l’opération avec une autre option.

     

    • Cette réponse a été modifiée le il y a 1 semaine et 3 jours par Flobogo. Raison: corrections
15 sujets de 1 à 15 (sur un total de 33)
  • Vous devez être connecté pour répondre à ce sujet.