2010-09-03 18 views
48

Tengo una pregunta sobre la eliminación de los datos de registro en Magento.Borrado de datos de registro de Magento

Tengo más de 2.3 GB de datos en Magento 1.4.1, y ahora quiero optimizar la base de datos, porque es demasiado lenta debido al tamaño de los datos. Revisé la información de registro (URL, Visitantes) y muestra más de 1.9 GB. Si borro directamente esos registros, ¿afectará alguna funcionalidad en el sitio? ¿Cómo puedo borrar los detalles del registro? Al borrar esos datos, ¿tendré o perderé datos en mi sitio?

+1

¿Ha medido el nivel de esto afecta el rendimiento? Sería interesante saber –

+0

Etapa inicial: fue una gran respuesta. En cuestión de segundos, mis productos y opciones de filtro funcionaban tanto en forma remota como en el back-end, pero ahora se convierten en 2.3 Gb y crecen sin fin. Entonces, día a día, la respuesta total se vuelve en minutos y en el lado administrativo me estoy cansando de su respuesta. – Elamurugan

Respuesta

62

No necesita hacer esto usted mismo, el sistema Magento tiene incorporado un elemento para limpiar la información de registro. Si va al

System > Configuration > Advanced > System > Log Cleaning 

Puede configurar su tienda para que limpie estos registros automáticamente.

+0

Hola, gracias, hombre ... – Elamurugan

+5

N.B. esto supone que ha configurado sus trabajos cron, ¿verdad, Alan? Las instrucciones están aquí: http://www.magentocommerce.com/wiki/1_-_installation_and_configuration/how_to_setup_a_cron_job –

+0

Probablemente Jonathan, no hago mucho mantenimiento del sistema con Magento, pero es así como se implementa algo así. –

4
TRUNCATE `log_url_info`; 
TRUNCATE `log_visitor_info`; 
TRUNCATE `index_event`; 
TRUNCATE `log_visitor`; 
TRUNCATE `log_url`; 
TRUNCATE `report_event`; 
TRUNCATE `dataflow_batch_import`; 
TRUNCATE `dataflow_batch_export`; 

yo sólo lo uso.

+4

Tenga cuidado con la tabla log_visitor - la tabla catalog_compare_item la referencia. Los huéspedes pueden obtener excepciones si tiene activada la característica de comparar productos en su sitio. – Vinai

+1

Puede resolver el problema con la referencia de clave si lo hace. Puede agregar este comando Mysql antes de SET foreign_key_checks = 0; y este comando después de SET foreign_key_checks = 1; – Phuc

+0

@Phuc Dudo que sea sabio.Los controles de clave externa están ahí por una razón. Inhabilítelos y terminará con registros huérfanos en tablas relacionadas que podrían causar todo tipo de efectos secundarios ... y es posible que no vea esos efectos secundarios hasta semanas o meses después, lo que los hace casi imposibles de diagnosticar. –

45

Probar:

TRUNCATE dataflow_batch_export; 
TRUNCATE dataflow_batch_import; 
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 log_visitor_online; 
TRUNCATE report_viewed_product_index; 
TRUNCATE report_compared_product_index; 
TRUNCATE report_event; 
TRUNCATE index_event; 

También puede referirse a la siguiente tutorial:
http://www.crucialwebhost.com/kb/article/log-cache-maintenance-script/

Gracias

+2

Cuidado con log_visitor: el catalog_compare_item lo enlaza y puede obtener excepciones si tiene activada la función de comparación. Probablemente eliminar todas las sesiones resolvería este problema. – Vinai

+2

Creo que no es recomendable tocar manualmente la base de datos. Es mejor ejecutar "php -f /root/to/magento/shell/log.php clean" en su lugar – Avision

+0

No olvide desactivar las comprobaciones de clave ... SET foreign_key_checks = 0; TRUNCATE .. SET foreign_key_checks = 1; – Martin

57

Limpieza del Magento Logs usando SSH:

entrada para bombardear panel (SSH) e ir con root/shell carpeta.

ejecutar el siguiente comando dentro de la carpeta de shell

php -f log.php clean 

introducir este comando para ver el tamaño de los datos de registro

php -f estado log.php

este método ayuda a limpiar los datos de registro de una manera muy fácil.

+3

Este es el camino a seguir si necesita hacer cosas manualmente. Es particularmente perfecto si tienes prefijos de tabla (como deberías). Muy agradable. –

3

Limpieza registros vía el panel de administración de Magento

Este método es más fácil para los propietarios de tiendas no técnicos que no quieren’meterse directamente con la base de datos de la tienda Magento. Para activar la opción de limpieza de registro en Magento acaba de hacer lo siguiente:

sesión en su panel de administración de Magento. Ir a Sistema => Configuración. a la izquierda bajo Avanzada clic en Sistema (Avanzado => Sistema). Bajo el sistema verá “Registro de limpieza” opción. Rellenar los valores de las opciones deseadas “Registro de limpieza” y haga clic en Guardar.

limpieza de registros a través de phpMyAdmin

Si se siente cómodo con MySQL y consultas a continuación, este método es más eficiente y más rápido que por defecto Magento herramienta de limpieza de registro. Este método también le permite limpiar lo que quiera, incluso puede limpiar tablas que no están incluidas en la herramienta predeterminada de limpieza de registros de Magento.

Abra la base de datos en phpMyAdmin En el marco de la derecha, haga clic en las casillas de los siguientes cuadros: dataflow_batch_export

dataflow_batch_import

log_customer

log_quote

log_summary

log_summary_type

log_url

log_url_info

log_visitor

log_visitor_info

log_visitor_online

report_viewed_product_index

report_compared_product_index

report_event

mirada a la parte inferior de la página, a continuación, haga clic en el cuadro desplegable que dice “con el seleccionado” y haga clic vacía. Haga clic en Sí en la pantalla de confirmación, y esto va a truncar todas las tablas seleccionadas.

o puede utilizar secuencia de comandos para ejecutar

TRUNCATE dataflow_batch_export; 
TRUNCATE dataflow_batch_import; 
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 log_visitor_online; 
TRUNCATE report_viewed_product_index; 
TRUNCATE report_compared_product_index; 
TRUNCATE report_event; 
TRUNCATE index_event; 

Tenga en cuenta que estamos aquí para vaciar (Truncar tablas seleccionadas) no se dejan caer. Ten mucho cuidado cuando hagas esto.

La realización de esta regularidad sin duda mejorar el rendimiento y la eficiencia de su tienda Magento. También puede configurar scripts para hacer esto automáticamente a intervalos regulares usando "CRON".

+0

Limpieza de registros a través de phpMyAdmin funcionó maravillosamente para mí, el DB pasó de 4 GB a 19 MB. – Peanuts

1

Sugerencia adicional: Si no necesita esa información, puede cambiar el tipo de tabla a "Blackhole" (en lugar de InnoDB). Esto significa que no se almacenará nada en el futuro y las instrucciones de inserción siguen funcionando bien.

También puede desactivar los registros mediante el establecimiento de todos los eventos a los discapacitados:

https://gist.github.com/tegansnyder/189f1c3ce897b4ab494d

1

Después limpia los registros mediante cualquiera de los métodos descritos anteriormente también se puede desactivar en tu app/etc/local. xml

... 
<frontend> 
<events> 
<frontend> 
    <events> 
    <!-- disable Mage_Log --> 
    <controller_action_predispatch> 
     <observers><log><type>disabled</type></log></observers> 
    </controller_action_predispatch> 
    <controller_action_postdispatch> 
     <observers><log><type>disabled</type></log></observers> 
    </controller_action_postdispatch> 
    <customer_login> 
     <observers> 
     <log> 
      <type>disabled</type> 
     </log> 
     </observers> 
    </customer_login> 
    <customer_logout> 
     <observers> 
     <log> 
      <type>disabled</type> 
     </log> 
     </observers> 
    </customer_logout> 
    <sales_quote_save_after> 
     <observers> 
      <log> 
       <type>disabled</type> 
      </log> 
     </observers> 
    </sales_quote_save_after> 
    <checkout_quote_destroy> 
    <observers> 
     <log> 
     <type>disabled</type> 
     </log> 
    </observers> 
    </checkout_quote_destroy> 
</events> 
</frontend> 
</config> 
+1

No debe apagar los registros, ya que si algo sale mal, no hay forma de solucionarlo. –

6
SET FOREIGN_KEY_CHECKS=0; 
TRUNCATE dataflow_batch_export; 
TRUNCATE dataflow_batch_import; 
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 log_visitor_online; 
TRUNCATE report_viewed_product_index; 
TRUNCATE report_compared_product_index; 
TRUNCATE report_event; 
TRUNCATE index_event; 
SET FOREIGN_KEY_CHECKS=1; 
1
SET foreign_key_checks = 0; 
TRUNCATE dataflow_batch_export; 
TRUNCATE dataflow_batch_import; 
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 log_visitor_online; 
TRUNCATE report_viewed_product_index; 
TRUNCATE report_compared_product_index; 
TRUNCATE report_event; 
TRUNCATE index_event; 
SET foreign_key_checks = 1; 
0

Cómo Magento limpieza de registro puede hacerse de forma manual, automática y otras tareas de mantenimiento de la base de datos de Magento. Debajo de las tres cosas, las más importantes son las técnicas de optimización y mantenimiento de la base de datos de Magento;

  • Entrar limpieza
  • uso inteligente de MySQL versiones actualizadas ajustes de tamaño de la memoria

Para obtener más información http://blog.contus.com/magento-database-maintenance-and-optimization/

1

Ingrese a su c-panel de phpmyadmin Goto utilizando SQL ejecute la consulta siguiente para borrar los registros

TRUNCATE dataflow_batch_export; 
TRUNCATE dataflow_batch_import; 
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 log_visitor_online; 
TRUNCATE report_viewed_product_index; 
TRUNCATE report_compared_product_index; 
TRUNCATE report_event; 
TRUNCATE index_event; 
0

puede deshabilitar o configurar la fecha y la hora para la configuración del registro.

Sistema> Configuración> Avanzado> sistema> Registro de limpieza

Cuestiones relacionadas