使您的WORDPRESS数据库健康

如果您的WordPress网站类似于人体,核心代码将是大脑,您的插件和主题将是中心神经系统的其余部分,使网站按照您的要求执行操作。但是,在信息时代,数据是货币以及您网站和业务的命脉,WordPress数据库将成为您网站的核心。您在数据库上执行的查询将是动脉和静脉,它们将生命线提供给您的网站并从您的受众接收数据。

这就是为什么将数据库作为常规站点维护工作流程的一部分进行维护非常重要的原因。今天,我将与您分享一个5步计划(或工作流程),用于维护您的网站并保持其健康状态。那么让我们直接了解问题的核心。

1.备份

数据库维护的第一条规则不是“我们不讨论数据库维护。”事实上,维护数据库与保持自己内心的同样谨慎至关重要。数据库维护的第一条规则非常简单 – 在生产站点上进行任何工作之前,请始终进行备份。事实上,规则1a最好被描述为“因为有可能,不要在生产或现场环境中处理数据库”。

托管的WordPress主机提供专门用于维护和开发的临时环境。我建议您在对网站进行任何工作之前,始终制作网站数据库的备份副本。此外,在生产/实时站点环境的隔离环境中工作,以便在出现问题时,您的实时站点不会受到影响。如果您的托管服务提供商不提供登台环境,您始终可以将您的站点复制到服务器上的单独WordPress安装中,或者复制到本地化的MAMP(Mac)或WAMP(Windows)虚拟机主机中。

2.消除混乱

就像你将胆固醇和血糖降低到健康水平以使你的血液自由流动一样,你想要消除你的网站中过时,过时或不必要的数据。减慢网站性能的最常见内容是postmeta,commentmeta和usermeta表中的孤立元数据。当从网站的数据库中不正确地删除旧帖子,评论和用户时,通常会遗留此元数据。剩下的信息会变成更多数据,用于在这些表上运行的查询进行解析,从而减慢在大海捞针中返回针头的工作量。

还有各种流行的插件可以帮助完成这个清理过程,如WP Sweep和Advanced Database Cleaner。您还需要注意的其他项目包括:

  • 过时的修订
  • 垃圾/垃圾邮件评论
  • 垃圾邮件
  • 孤立的期限关系
  • 过期的瞬态(当前的WordPress核心版本现在会自动删除这些。)

电子商务网站的另一个考虑因素是存档过时的产品和过时的订单历史记录,前提是您的业务模型将允许将此作为​​工作流程的一部分。WooCommerce确实有可用于根据可自定义参数归档旧产品和订单的工具。

3.分析配置

当您感到胸痛时,心脏病专家将要做的第一件事就是拍照或执行心电图/心电图,以了解您的心脏如何以及为何导致您疼痛。同样,您希望分析数据库的配置方式,以确保数据正确有效地流动以保护数据库的完整性。

您要确定的一件事是检查默认的WordPress索引并查看您创建的任何自定义索引。索引旨在像数据过滤器一样工作,以加快MySQL查询的WHERE和ORDER BY子句。但是,这里需要谨慎。在频繁更新的字段上进行的复杂索引(使用INSERT和UPDATE查询)可以使这些查询运行得更慢。使用“-check”标志执行“mysqlcheck”命令将识别任何损坏的表或索引错误。

此外,要记住的一件事是MySQL中有两种不同类型的存储引擎–MyISAM和InnoDB。关于这些的重要事项是它们如何使用内存以及它们在查询期间如何执行锁定。从高级别的角度来看,MyISAM在处理读/写查询功能时利用物理磁盘空间作为内存。另一方面,InnoDB利用专用的RAM内存片段来处理查询功能,使InnoDB更加高效。此外,MyISAM在查询时锁定整个表,而InnoDB仅锁定查询期间正在扫描的当前行。InnoDB还具有自动修复功能。由于MyISAM是一项已有20年历史的技术,很快将不再支持更新的MySQL版本,因此建议将InnoDB统一用于数据库中的所有表。

4.回收空地

同样地,血凝块可以减缓血液流动,从而使你的心脏必须更加努力工作,数据库中的空白空间可能导致数据库碎片,需要优化以回收死腔。简而言之,从数据库中删除内容不会自动回收存储数据库的服务器上的磁盘空间。事实上,那里的内容实际上被替换为各种各样的空白。因此,在从网站删除大量数据后,您经常会注意到服务器配置的mysql目录的目录大小与数据库中的实际数据量不同(通过MySQL CLI,phpMyAdmin或第三方看到)数据库连接工具)。

为了回收这个空间,您可以使用两种方法。从服务器命令行,您可以使用“-auto-repair”标志执行“mysqlcheck”命令。否则,您可以使用phpMyAdmin执行Optimize Tables功能。但是,我必须就此功能提出警告。由于这是一个字面上重建数据库表的破坏性过程,如果您在实时环境中执行此操作,则需要在非高峰时间段内执行此操作。例如,如果您有一个大型wp_options表,则在优化此表时,您的站点将脱机,直到表重建完成。这是我强烈建议不要在生产环境中进行此类维护的众多原因之一。

5.转移到生产

现在是手术精确度的时候了。就像心脏移植一样,你正在用一个新的,更健康的器官取代一颗破旧的心脏,这最后一步就是将你前面四个步骤的努力工作变为现实。如果您的工作流程允许您安全地执行生产中的先前任务,则可以跳过此步骤。

如果您的托管服务提供商拥有可用的工具,您可以使用一步式部署方法将新修复的站点/数据库复制到实时/生产环境。但是,有一个警告。对于电子商务网站,您需要确保您的部署不会覆盖在维护时间范围内放置的任何新订单。使用WooCommerce网站,订单数据存储在四个表中:

      • wp_posts
      • wp_postmeta
      • wp_woocommerce_order_items
      • wp_woocommerce_order_itemmeta

您可以通过有选择地选择要迁移的表来忽略部署中的这些表。或者,WooCommerce提供工具来帮助您安全备份新订单,然后将它们合并到已修复的站点中。您还可以利用本机WordPress导出器导出实时站点,然后重新导入它以在部署已修复的数据库后合并订单。

结论

正如定期检查身体一样,您必须对您的网站数据库进行定期维护。您的工作流程的常规是主观的,实际上取决于您的网站进出的数据流量。有些网站可能需要每月维护一次,一年两次,其他一周一次。这一切都取决于你的个人情况。修剪脂肪,减少杂乱。如果需要执行“手术”,请雇用像合格数据库管理员这样的专家。你不希望你的家庭医生进行心内直视手术; 这是心脏外科医生的工作。定期练习维护数据库并微调配置,以帮助您的网站继续保持最佳状态:

  • 有备份
  • 消除混乱
  • 分析配置
  • 回收空的空间
  • 转移到生产

说点什么

500