Comment vider les logs de magento (MySQL)

Supprimer facilement vos Fichiers Logs et autres données inutiles que magento conserve dans la base de données grâce à cette requête MySQL.

Nettoyez les logs via l’administration de magento

 

Par défaut , magento propose de nettoyer les logs depuis le panneau d’administration de magento

 

( Système > Configuration > Avancé > Système )

 

vous pouvez choisir de conserver uniquement X jours de logs , le nettoyage s’effectue grâce à la tâche Cron

 

Jusqu’à aujourd’hui , j’avais opté pour cette méthode assez pratique mais voilà en regardant l’historique de la taille de mes fichiers de sauvegardes , j’ai remarqué que celle-ci avait doublé en presqu’un an , passant de 22 mo à 54 mo.

 

J’ai cherché à en savoir plus en regardant la taille de mes tables MySQL via PHPmyAdmin.

 

Certaines requêtes complémentaires aux logs nécessitent d’être nettoyées aussi.

 

Si vous faites des importations / exportations de catalogue , magento garde énormément de donnée dans la base , d’autres données y figurent aussi comme des données liées à l’utilisation de la comparaison de produits , la génération de rapport , etc

 

Liste des tables et requête pour nettoyer les logs et les données supplémentaires

 

Voici la requête (à exécuter dans PHPMyAdmin dans l’onglet SQL) que vous pouvez utiliser afin de nettoyer régulièrement votre boutique magento.

 

Grâce à cette requête j’ai divisé par 2 la taille de ma BDD ce n’est pas négligeable
Il n’y a pas que les logs qui ont besoin d’un nettoyage de printemps.

SET FOREIGN_KEY_CHECKS=0;
TRUNCATE `log_customer`;
TRUNCATE `log_quote`;
TRUNCATE `log_summary`;
TRUNCATE `log_summary_type`;
TRUNCATE `log_url`;
TRUNCATE `log_url_info`;
TRUNCATE `log_visitor`;
TRUNCATE `log_visitor_info`;
TRUNCATE `report_event`;
TRUNCATE `catalog_compare_item`;
TRUNCATE `report_viewed_product_index`;
TRUNCATE `report_compared_product_index`;
TRUNCATE `dataflow_batch_export`;
TRUNCATE `dataflow_batch_import`;
ALTER TABLE `log_customer` AUTO_INCREMENT=1;
ALTER TABLE `log_quote` AUTO_INCREMENT=1;
ALTER TABLE `log_summary` AUTO_INCREMENT=1;
ALTER TABLE `log_summary_type` AUTO_INCREMENT=1;
ALTER TABLE `log_url` AUTO_INCREMENT=1;
ALTER TABLE `log_url_info` AUTO_INCREMENT=1;
ALTER TABLE `log_visitor` AUTO_INCREMENT=1;
ALTER TABLE `log_visitor_info` AUTO_INCREMENT=1;
ALTER TABLE `report_event` AUTO_INCREMENT=1;
ALTER TABLE `catalog_compare_item` AUTO_INCREMENT=1;
ALTER TABLE `report_viewed_product_index` AUTO_INCREMENT=1;
ALTER TABLE `report_compared_product_index` AUTO_INCREMENT=1;
ALTER TABLE `dataflow_batch_export` AUTO_INCREMENT=1;
ALTER TABLE `dataflow_batch_import` AUTO_INCREMENT=1;
SET FOREIGN_KEY_CHECKS=1;

 

3 Commentaires

  1. merci mais :
    – peut-on exécuter cela sans risque sur la bdd ? (même si on a un dump).
    – peut-on le faire sur une 1.7.02 jusqu’aux plus récentes ?
    Pourquoi le log_clean du BO ne fait-il pas correctement le ménage ? quelle est la bonne durée à garder ? j’avais mis 15 jours, mais au bout de 1 an et demi, je m’aperçois que certaines tables font plus de 800 000 enregistrements, et que mes backups de db quotidiens commencent à peiner…

    merci
    Dan

    Reply
    • oui tu peux l’utiliser sans risque

      le problème par exemple si tu fais un import/export de catalogue , magento garde des traces dans la bdd et ça gonfle artificiellement la bdd , pareil pour le reste

      donc de temps en temps faut nettoyer 😉

      Reply

Laissez un commentaire.