清除Magento日志数据

时间:2010-09-03 18:03:00

标签: magento

我有一个关于清除Magento中日志数据的问题。

我在Magento 1.4.1中有超过2.3GB的数据,现在我想优化数据库,因为由于数据的大小,它太慢了。我检查了日志信息(URL,访问者),它显示超过1.9 GB。如果我直接清除这些记录,它会影响网站中的任何功能吗?如何清除日志详细信息?通过清除这些数据,我会在我的网站上丢失或丢失任何数据吗?

15 个答案:

答案 0 :(得分:71)

不需要自己动手,Magento系统有内置的清理日志信息。如果你去

System > Configuration > Advanced > System > Log Cleaning

您可以将商店配置为自动清理这些日志。

答案 1 :(得分:64)

使用SSH清理Magento日志:

登录shell(SSH)面板并使用root/shell文件夹。

在shell文件夹

中执行以下命令
php -f log.php clean

输入此命令以查看日志数据的大小

  

php -f log.php status

此方法将帮助您以非常简单的方式清理日志数据。

答案 2 :(得分:50)

尝试:

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;

您还可以参考以下教程:
http://www.crucialwebhost.com/kb/article/log-cache-maintenance-script/

由于

答案 3 :(得分:11)

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;

答案 4 :(得分:5)

您可以清除其他一些表格: 记录在此:https://dx3webs.com/blog/house-keeping-for-your-magento-database

希望这会有所帮助 安迪

答案 5 :(得分:5)

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`;

我只是用它。

答案 6 :(得分:3)

通过Magento管理面板清理日志

对于不希望“直接混淆Magento商店的数据库”的非技术商店所有者来说,这种方法更容易。要在Magento中激活日志清理选项,请执行以下操作:

登录Magento管理面板。 转到System =>组态。 在“高级”下的左侧,单击“系统”(高级=>系统)。 在系统下,您将看到“日志清理”选项。 填写所需的“日志清理”选项值,然后单击“保存”。

通过phpMyAdmin清理日志

如果您对mysql和查询感到满意,那么此方法比默认的Magento Log Cleaning工具更高效,更快捷。此方法还允许您清理任何您喜欢的内容,甚至可以清理默认Magento日志清理工具中未包含的表格。

在phpMyAdmin中打开数据库 在右侧框架中,单击下表的框: 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

查看页面底部,然后单击显示“已选中”的下拉框并单击清空。 在确认屏幕上单击是,这将截断所有选定的表。

或者您可以使用脚本来运行

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;

请记住,我们在这里清空(截断)所选表格不会丢弃它们。这样做时要非常小心。

定期执行此操作肯定会提高您的Magento商店的性能和效率。您可以使用“CRON”设置脚本以定期自动执行此操作。

答案 7 :(得分:2)

这个脚本干净整洁。将其设置为cron工作并放松:

http://www.crucialwebhost.com/kb/magneto-log-and-cache-maintenance-script/

答案 8 :(得分:1)

你可以在这里查看好文章:

http://blog.magalter.com/magento-database-size

它包含如何检查数据库大小,截断某些表以及如何配置自动表清理的说明。

答案 9 :(得分:1)

进一步提示:如果您不需要这些信息,可以将表类型更改为“Blackhole”(而不是InnoDB)。这意味着,将来不会存储任何内容,插入语句仍然可以正常工作。

您还可以通过将所有事件设置为禁用来禁用日志:

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

答案 10 :(得分:1)

使用上述任何方法清理日志后,您也可以在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>

答案 11 :(得分: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;

答案 12 :(得分:1)

登录您的c-panel转到phpmyadmin 使用SQL运行以下查询来清除日志

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;

答案 13 :(得分:0)

如何手动,自动和其他Magento数据库维护完成Magento日志清理。下面三件事最重要的是Magento数据库维护和优化技术;

  • 日志清理
  • 智能使用MySQL更新版本
  • 缓冲池大小设置

获取更多信息http://blog.contus.com/magento-database-maintenance-and-optimization/

答案 14 :(得分:0)

您可以禁用或设置日志设置的日期和时间。

  

系统&gt;配置&gt;高级&gt;系统&gt;日志清理