Magento数据库优化/减肥,清空多余的日志文件

今天有一个客户反馈说设置了新产品后,首页不显示,连之前有的产品都没有了,厦门简尚网络登录到CPANEL面板里一看,原来是空间超出了。

Thank you for reading this post, don't forget to subscribe!

随着Magento网站访问量的增加,Magento数据库也越来越大了,甚至有几十个G,直接后果:
1.影响网站和数据库性能;
2.备份/恢复数据库花费的时间增加了;
3.占用磁盘空间;
4.出现一些设置产品不显示的问题

Magento数据库迅速膨胀,主要是由于一些日志数据的剧增,可以通过Magento自身的cron定时清理日志。
另外一种又快又好的办法是执行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;
set foreign_key_checks = 0;
truncate index_process_event;
truncate index_event;
set foreign_key_checks = 1;
数据库清理数据有风险,请注意备份好数据库。

解决了上述问题,我们要怎么样可以避免数据库日志的增加呢?
我们可以设置magento自动清空log,方法如下:
1) 登录你的magento后台进入 System ->  Configuration
2) 在左栏进入 Advanced -> System
3) 打开 Log Cleaning
4) 设置 “save log, days” 到一个数值, 这个的单位是天,我觉得几天清空一次就好了
5) 设置激活自动清空log设置

如下图为设置每天自动清空我的magento数据库log。这里清理的时间段还是比较少人访问的时候,可以节省服务器的开销,然后是可以避免前台在线客户的一些数据产生异常。

20131023113023957
图中表示的意思,log保存时间为:7天,开启自动清理缓存:是,清理开始时间:0时,清理的频率:一周

这样就可以避免空间浪费和提高了那么点运行速度了。

 

 


 

给Magento网站搬家到时候发现的,数据库大小差不多1G了,但是网站总共产品都不到100呢,严重影响网站备份效率,以下是清理Magento数据库的方法。

方法1:SQL清理Magento日志记录表。

主要涉及到的表有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。
这里给出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;

当然,直接进入phpmyadmin清理相关表也可以,见下图。
30695427
选定之后,直接清空即可。

方法2:Magento后台清理

System > Configuration > Advanced > Log Cleaning > Enable Log Cleaning,把默认的180修改为15,即15天自动清理一次,之后保存。
644768171


我自己的使用

使用宝塔, 进入PhpMyAdmin, 进入MAGENTO的数据库表, 我一共有3页数据库表,直接用大小排序. 找到体积最大的log表,删除掉
删除后,后台可以登陆, 但是前台登陆出现问题. 并且体积并没有减少.

magento数据库

我最大的两个数据文件就是mg_log_visitor_info和mg_log_visitor 这两个文件. 不能简单的把这两个文件删除, 如果删除了. 前台就会出现错误. 直接清空这两个表就可以了.
MAGENTO数据库表清空

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注