【WordPress】数据库详解
本文最后更新于 151 天前,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

WordPress数据库详解cover

前言

在本文中,我们将了解 WordPress 数据库是什么以及它是如何工作的。

WordPress 数据库是什么

我们都知道在创建 WordPress 时,需要之前就创建好一个数据库。WordPress 是一个数据库驱动的开源内容管理系统或网站平台,用 PHP 编写。WordPress 使用数据库来存储和检索您的网站或博客的内容。可以理解为 WordPress 网站是数据库的呈现形式。

WordPress 使用 MySQL 数据库管理系统。MySQL 是一个开源的关系数据库管理系统 (RDBMS),通常用于创建数据库。MySQL 使用结构化查询语言 (SQL),这是一种流行的数据库语言。MySQL 最适合与 WordPress、Apache Web 服务器、Linux 操作系统和 PHP 等其他开源应用程序配合使用。

大多数 WordPress 用户几乎不需要与 WordPress 数据库进行交互。它只是在幕后运作。但是,如果您对主题或插件开发或为WordPress 核心感兴趣,了解 WordPress 数据库是什么以及它是如何工作的会很有帮助。

WordPress 的 MySQL 数据库将网站的数据存储到表、行和列中。WordPress 数据库是动态的,这意味着您可以添加、修改和删除其中包含的信息(前提是您具有管理权限)。

WordPress 数据库结构及解释

存储在 WordPress 数据库中的不同类型数据的一些示例包括:

  • 页面、帖子和其他内容
  • 标签、类别和其他组织信息
  • 用户评论和个人资料数据
  • 主题和插件相关数据
  • 全站设置

WordPress 数据库描述的内容参见下图。

WordPress数据库详解01

每个全新的 WordPress 数据库安装都将包含 12 个表。表的名称让您对每个表负责存储的内容有一个非常可靠的概念。

此外,每个表将包含存储更多指定数据位的各种字段和列。例如,wp_comments 表包含与您的帖子和页面上的用户评论相关的所有数据。

表名 描述
wp_users WordPress 网站上的用户列表 。所有 WordPress 用户角色的用户都存储在这里(管理员、编辑、作者、贡献者、订阅者等)。存储在此表中的其他用户信息包括用户名、名字、姓氏、昵称、密码、电子邮件、注册日期、状态和角色。
wp_usermeta 每个 用户 的特征信息称为 元数据。此处存储的元数据包括唯一的用户 ID、元键、元值和元 ID。这些都是您网站上用户的唯一标识符。
wp_term_taxonomy WordPress 使用三种类型的分类法,包括类别、 链接标签。此表存储术语的分类关联。
wp_term_relationships 此表存储帖子、类别和标签之间的关系。 与各自类别的链接的关联 也保存在此表中。
wp_termmeta 每个 术语 的特征信息称为 元数据 ,它存储在 wp_termmeta 中。
wp_terms 帖子和链接的 类别 以及帖子的 标签 都可以在 wp_terms 表中找到。
wp_posts WordPress 数据的核心是 帖子。此表存储您发布的任何帖子或页面的内容,包括自动保存修订和帖子选项设置。此外,页面 和导航菜单项存储在此表中。
wp_postmeta 每个 帖子都 包含称为 元数据的信息 ,它存储在 wp_postmeta 中。一些插件可能会将自己的信息添加到此表中。
wp_options 从 WordPress 管理仪表板的设置页面设​​置的所有设置都存储在这里。这包括所有主题和插件选项。
wp_links wp_links 保存与  输入到 WordPress 的链接功能中的 **链接相关的信息。**(此功能现已弃用,但可以使用 Links Manager 插件重新启用。)
wp_comments 发布到您网站的所有评论以及有关评论作者的其他信息(姓名、URL、IP 地址、电子邮件地址等)都存储在此处
wp_commentmeta 每个 评论都 包含称为 元数据的信息 ,它存储在 wp_commentmeta 中,包括评论 ID 号。

WordPress 数据库表示例:评论

任何 WordPress 数据库表都可以扩展以显示存储在表中的所有数据。以 wp_comments 表为例。
通过 phpMyAdmin 打开 MySQL 数据库。

WordPress数据库详解02

点击左侧数据库的 wp_comments 表,如您所见,数据库存储的有关网站上每个用户评论的信息比您想象的要多得多。它存储有关每个评论的作者详细信息、唯一用户 ID、可以在哪里找到评论等信息。

WordPress数据库详解03

WordPress 数据库表 wp_comments 进一步细分为以下列:

comment_ID
comment_post_ID
comment_author
comment_author_email
comment_author_url
comment_author_IP
comment_date
comment_date_gmt
comment_content
comment_karma
comment_approved
comment_agent
comment_type
comment_parent
user_id

具体如何操作 phpMyAdmin,详见相关阅读里的 phpMyAdmin 入门教程phpMyAdmin教程 之 创建新用户/导入/导出数据库

注意:请务必谨慎操作数据库

WordPress 数据库的推荐权限

对于标准的 WordPress 操作,数据库用户只需要 SELECTINSERTUPDATE 权限。强烈建议在运行 WordPress 数据库时使用绝对最低权限。

在重大升级期间,有时可能需要额外的权限,如 CREATEALTERDROP。当安装需要更改数据库结构以便在您的网站上运行的插件时,也可能需要它们。

在这种情况下,插件开发人员会建议您对数据库的用户权限进行此类更改。

MySQL 查询及更改

许多与数据库相关的 MySQL 查询将自动运行。但是,您也可以直接访问数据库并手动运行命令和查询。数据库管理器可帮助您简化流程。

MySQL 查询示例:

DELETE FROM wp_comments WHERE wp_comments.comment_approved = 'spam'

此查询将通知数据库查看与用户发表的评论相关的所有数据。它会查找并删除您已标记为垃圾邮件的所有评论。

通过手动执行查询,可以更好地完成某些无法从仪表板完成的任务。您可以做一些事情,例如更改您帐户上的用户名,这是仪表板不允许的。

再比如由于网站更换域名,图片外链图床改变,导致文章地址或图片地址发生改变,需要进行批量替换 url 的操作。

  • 修改 option_value 里的站点 url 和主页地址:

    UPDATE wp_options SET option_value = REPLACE(option_value,'替换内容','替换值');
  • 更改文章中内部链接及附件的地址:

    UPDATE wp_posts SET post_content = REPLACE(post_content,'替换内容','替换值');
  • 更改 WordPress 文章默认的永久链接:

    UPDATE wp_posts SET guid = REPLACE(guid,'替换内容','替换值');
  • 更改博客用户里你的网站链接:(如果你的个人资料里没有填你的博客地址,可忽略)

    UPDATE wp_users SET user_url = REPLACE(user_url,'替换内容','替换值');
  • 更改评论者资料里你的博客链接:

    UPDATE wp_users SET user_url = REPLACE(user_url,'替换内容','替换值');
  • 更改评论内容你的博客链接:(如果评论里没有你博客链接,可忽略)

    UPDATE wp_comments SET comment_content = REPLACE(comment_content,'替换内容','替换值');

如何重置 WordPress 数据库

有时可能希望将数据库重置为原始设置。例如,如果您在测试站点或本地服务器上工作,您可能希望将数据库恢复到进行更改之前的状态。

注意:当您重置数据库时,您的所有数据将被永久删除。重置过程无法撤消。因此,在进行数据库重置之前创建完整的 WordPress 备份是个好主意。

如果您不想创建整个站点的备份副本,则可以仅创建 WordPress 数据库的备份。

要将数据库重置为其默认设置,您首先需要安装并激活名为WP Database Reset的插件。

激活插件后,转到页面工具 > 数据库。在此位置,您可以单击以选择要重置的表。如果要重置数据库中的所有表,请单击“选择所有表”。

如果您选择所有表格,您将可以选择重新激活您的活动插件和当前主题。该插件还保留您的活动 WordPress 用户帐户。

在此之后,需要通过在所需文本框中输入安全代码并单击“重置表”链接来确认重置。当屏幕上出现警告弹出窗口时,单击“确定”继续。

然后插件继续删除数据库表中的所有数据。该过程完成后,您会在插件的设置页面上看到“成功”消息。

片刻之后,您将自动退出 WordPress 的管理区域。此时,您可以使用同一帐户再次登录。您的数据库已重置,您的网站现在显示的方式将在您刷新时反映这一点。

如何修复 WordPress 数据库

如果想修复数据库而不是完全重置数据库,首先要做的是打开 WordPress 主机的控制面板区域并登录您的帐户。

进入后,您将在控制面板内看到主机为您提供的所有选项。像在本文前面所做的那样找到 phpMyAdmin 图标,然后单击它。

对于大多数主机的控制面板,可以在“数据库”的标题下找到 phpMyAdmin。

进入 phpMyAdmin 界面后,需要选择“正确的 WordPress 数据库”。

执行此操作后,您会看到所有内部文件夹都将出现在侧边栏中。所有文件夹名称都以 wp\_ 开头。

如果在服务器上有多个 WordPress 站点,您将在选择“更正 WordPress 数据库”时看到所有站点。在继续进行任何修复之前,请仔细检查是否选择了正确的数据库。

一旦打开了正确的数据库,请确保数据库的每个部分都得到修复(当然,除非您收到的错误消息告诉您只有数据库的一个特定部分已损坏)。

要修复 WordPress 数据库的所有部分,请前往底部并在主目录中选择“全部检查”。这会突出显示数据库中的所有子目录。

在看到所有子目录都被选中后,打开“检查所有”字段旁边的列表。

选择“修复表”选项。

该过程运行后,检查它是否在修复结果屏幕上工作。在那里,它会告诉你修复是否成功。

如何优化 WordPress 数据库?

随着时间的推移和使用,WordPress 数据库可能会损坏或需要良好的整体管理。这就是数据库优化介入的地方。

应该定期优化您的 WordPress 数据库,以使其保持清洁并保持最佳状态。如果没有定期优化,您会注意到 WordPress 网站速度会随着时间的推移而减慢。WordPress 数据库优化是一个相对简单的过程,有几种不同的方法来完成它。

通过 phpMyAdmin 优化数据库

第一种方法是重新登录 phpMyAdmin 并单击“数据库”。在这里,您会看到列出了要优化的数据库。同样,您将看到与您的网站数据库相关的所有表格。

从那里,您需要做的就是向下滚动页面并单击“全选”。然后导航到“With Selected”下拉菜单并选择“Optimize Tables”。系统现在优化您选择的所有表格。

WordPress数据库详解04

用于数据库优化的 WordPress 插件

如果希望使用插件优化 WordPress 数据库,可以使用几种不同的插件。

第一个称为 WP-Optimize,可以在 WordPress 插件存储库中找到。

这个插件的安装和操作都很简单。您还可以使用它在白天或晚上的任何时间安排自动优化。

如何备份 WordPress 数据库

强烈建议您始终使用可靠的 WordPress 备份插件如 BackupBuddy 定期备份 WordPress 数据库(每周一次是个好主意)。

特别建议在执行站点升级甚至优化之前备份您的数据库。这样,如果出现问题,将能够恢复数据库(和网站)而无需任何恐慌。

简单的方法:使用插件进行数据库备份

到目前为止,备份 WordPress 数据库的最简单方法是使用 WordPress 备份插件 BackupBuddy。BackupBuddy 允许您轻松备份、恢复和迁移 WordPress 网站到新的服务器或域名。

注:BackupBuddy 是一个收费插件。

手动方法:通过 phpMyAdmin 进行数据库备份

登录 phpMyAdmin。从屏幕左侧的窗口中,选择要备份的 WordPress 数据库。

右侧的窗口将显示 WordPress 数据库中的所有表。需要单击顶部选项卡上的“导出”选项卡。
选择“快速”选项,然后单击“执行”下载数据库文件。

WordPress数据库详解05

如果要更改默认行为,还可以选择自定义备份选项。在上述步骤中,选择“自定义”选项而不是“快速”选项。从那里,您将看到显示的详细选项。

表部分是可以从数据库中的所有不同表中进行选择的地方。如果其他程序正在使用该数据库,请仅选择与 WordPress 安装相对应的表。它们将以您已经在 wp-config.php 文件中指定的 wp\_table\_prefix 开头。

如果只安装了 WordPress,请保持原样,如果选择已更改,请单击“全选”。在输出部分,从压缩框中选择“gzipped”或“zipped”。这将允许在下载数据时对其进行压缩。

在格式部分中,确保选择 SQL。这将导出一系列 SQL 命令,而不是其他数据格式,例如 CSV,这不适用于此备份过程。当看到特定于格式的部分时,请继续保持原样。

在对象创建部分中,选择以下内容:

  • Drop Table
  • View
  • Procedure
  • Function
  • Event
  • Trigger

在创建目标数据库之前,它会调用一个 DROP 语句来删除任何旧的现有表(如果它们存在)。在此之后,您需要确保将数据创建选项部分完全保留原样。

前往窗口底部,然后单击“开始”。系统将提示下载文件。将此文件保存在您的计算机上。请记住,此过程不会备份您的所有文件和文件夹(如图像)。但是,博客文章和用户评论等所有内容都已通过此手动数据库备份过程进行备份。

如何恢复 WordPress 数据库

使用 BackupBuddy 恢复 WordPress 数据库

恢复数据库可以在插件中执行。

导航到插件中的“备份”页面,然后导航到“还原备份”选项卡。使用数据库备份右侧的按钮来恢复数据库。

然后,可以观看 BackupBuddy 将数据库恢复到备份中包含的版本。

通过 phpMyAdmin 恢复

推荐使用 phpMyAdmin来完成恢复。

  1. 登录 phpMyAdmin 平台。
  2. 单击“数据库”并选择将要导入数据的数据库。
  3. 您将看到一个屏幕告诉您不存在任何表或数据库中已经存在的表列表。这将取决于您如何设置。
  4. 单击屏幕顶部附近的“导入”选项卡。
  5. 在此屏幕上,单击“浏览”以查找存储在计算机上的数据库备份文件。
  6. 仔细检查是否在标题为“格式”的下拉菜单中选择了 SQL。
  7. 点击“执行”。

稍等片刻,数据库就导入成功了。

WordPress数据库详解06

总结

希望您现在对 WordPress 数据库有更多了解,包括创建、访问、修复、备份或优化它。

记住:少折腾,多备份!

相关阅读
WordPress 数据库详解(是什么,创建、备份和恢复等)
数据库描述
phpMyAdmin 入门教程
phpMyAdmin教程 之 创建新用户/导入/导出数据库

【END】

版权归属: E家之长
本文链接: https://www.5iehome.cc/archives/wordpress-mysql-database-introduction.html
许可协议: 本文使用《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》协议授权
暂无评论

发送评论 编辑评论


				
上一篇
下一篇