我有一个关于清除Magento中日志数据的问题。
我在Magento 1.4.1中有超过2.3GB的数据,现在我想优化数据库,因为由于数据的大小,它太慢了。我检查了日志信息(URL,访问者),它显示超过1.9 GB。如果我直接清除这些记录,它会影响网站中的任何功能吗?如何清除日志详细信息?通过清除这些数据,我会在我的网站上丢失或丢失任何数据吗?
答案 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)
答案 9 :(得分:1)
进一步提示:如果您不需要这些信息,可以将表类型更改为“Blackhole”(而不是InnoDB)。这意味着,将来不会存储任何内容,插入语句仍然可以正常工作。
您还可以通过将所有事件设置为禁用来禁用日志:
答案 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数据库维护和优化技术;
获取更多信息http://blog.contus.com/magento-database-maintenance-and-optimization/
答案 14 :(得分:0)
您可以禁用或设置日志设置的日期和时间。
系统&gt;配置&gt;高级&gt;系统&gt;日志清理