【问题标题】:Magento: Deleting multi store (sites) and cleaning up databaseMagento:删除多存储(站点)并清理数据库
【发布时间】:2023-03-06 06:46:02
【问题描述】:

目前我有使用多个站点的 magento 设置(存储访问其他站点的视图)。我以这种方式设置了大约 7 个商店,所有这些商店都运行一个后端和数据库。随着时间的推移,它变得非常庞大,例如我的数据库超过 1GB,索引现在是一个非常漫长的过程。因此,出于显而易见的原因,我现在将它们拆分为自己的 magento 后端/数据库。

我已经通过复制我的 magento 安装并删除不必要的商店视图离开了我想要保留的 1 个商店来做到这一点。问题当然是 magento 不会删除这些已删除商店的数据库条目,所以我仍然有一个非常庞大的数据库,其中包含不必要的数据。

所以我的问题 - 我如何删除我数据库中的这些剩余数据?我假设 magento 保留某种 id 以将数据链接到商店视图,因此也许存在我可以运行的 sql 查询。

【问题讨论】:

  • 这可能是一个愚蠢的问题,但是 Magento 中的日志为我们创建了一个巨大的数据库(我们一次安装运行 37 个商店,200K 客户列表和大量库存)我们刚刚关闭了登录系统>> 配置 >> 高级 >> 管理 >> 管理操作记录。在归档赶上后,这将我们的数据库减少了 2/3 秒。这还适合你吗?运行多个安装似乎很浪费。
  • 我说 Reduce by 2/3s 意思是说减少到 2/3s

标签: magento


【解决方案1】:

如果您的数据库变得庞大,这是您将 Magento 从 Multistore 拆分为单个商店的唯一原因,我建议您重新考虑。

您似乎没有按照 Magento 的要求设置您的 cron。 这导致某些表(日志表)没有被定期清理。 还需要配置日志清理频率。

执行此操作后,首先检查您的数据库大小。

还有: 可以使用系统>配置>高级>系统>日志清理。

或在数据库级别: 截断 dataflow_batch_export; 截断 dataflow_batch_import; TRUNCATE log_customer; 截断日志引用; 截断日志摘要; TRUNCATE log_summary_type; 截断日志 URL; 截断 log_url_info; 截断日志访问者; 截断 log_visitor_info; TRUNCATE log_visitor_online; 截断report_viewed_product_index; 截断report_compared_product_index; 截断报告事件; 截断索引事件;

【讨论】:

  • 感谢您的回复,但我已经将 cron 设置为每 5 分钟运行一次。日志经常被清理,但我的数据库仍然非常庞大。使用我们所说的日志可能是 5GB,而没有日志它刚刚超过 1GB。问题只是在一个 magento 下安装了太多的多站点商店,因为每个商店都有 20k 产品、无数的客户和订单。老实说,我认为唯一的解决方案是将每个商店移动到他们自己的 magento 安装中。
  • 更多的是您的设置问题,而不是代码问题。非常庞大的站点正在 Magento 企业版本上运行。它建议您升级您的设置。一个不同的 Mysql 服务器或者两个 Mysql(Percona) 服务器用于负载平衡应该可以。
猜你喜欢
  • 1970-01-01
  • 2012-12-13
  • 1970-01-01
  • 1970-01-01
  • 2018-03-06
  • 1970-01-01
  • 2019-11-08
  • 2014-02-15
  • 2017-05-24
相关资源
最近更新 更多