使用PHPMyAdmin管理WordPress的数据库

发布于 2020-02-21  438 次阅读


WordPress 是使用 PHP 作为它的脚本语言编写的,并且使用了 MySQL 作为数据库管理系统。如果只是使用 WordPress,你根本都不需要知道这些。

但是,对这两者的基本理解可以帮助你处理一些问题以及了解 WordPress 运行原理。

在这篇文章中,我们会解答 WordPress 如何使用数据库,包括对 WordPress 数据库中默认的数据表的介绍。

我们还会为你展示如何使用 phpMyAdmin 管理 WordPress 数据库,包括对数据库的备份、优化等方面。

这是一篇关于 WordPress 数据库管理的综合性文章,所以我们为文章增加了一个导航以便于阅读。

什么是数据库以及 WordPress 如何使用数据库?

数据库是一种以一定的组织方式存储和获取数据的系统。 数据库可以让软件以可编程方式管理数据。

例如:WordPress 使用 PHP(编程语言)从数据库读取数据。

WordPress 数据库中存储的信息包括文章、页面、评论、分类、标签、自定义字段、用户和一些其他的设置。这些我们会在后面讲解 WordPress 数据表时进行详细的说明。

当你首次安装 WordPress 时,程序会让你填写数据库名称、主机、用户名和密码。这些信息是存在一个叫 wp-config.php 的配置文件内的。

在安装过程中,WordPress 利用你提供的数据库信息去创建数据表,并且将默认的安装数据存到这些表中。

安装完成后,WordPress 对该数据库进行查询,去为你的网站或博客动态生成 HTML 页面。

这就是为什么 WordPress 这么强大,因为你不需要去一个一个手动创建 html 页面,WordPress 会动态帮你处理一切。

WordPress 的数据库存在哪里?

WordPress 使用 MySQL 作为它的数据库管理系统,这是一套安装在你的 WordPress 主机服务器上的软件。你的数据库也是存放在同一台服务器上的。

不过在大多数共享主机环境中,这个位置是无法访问的。但是,如果你使用的是 VPS 主机或者专用服务器,那么你可以使用命令行工具找到数据库。

大部分情况下,数据库的位置如下所示:

/var/lib/mysql/your_database_name

不过,每个主机数据存放的位置可能会有所差别。

有一点要牢记,你不需要真正的去访问数据库文件本身。你可以使用其他的工具来管理数据库,例如 phpMyAdmin。

什么是 phpMyAdmin?

PhpMyAdmin 是一个基于 Web 页面的软件,它可以让你使用浏览器来管理 MySQL 数据库。它提供了一个易于使用的用户界面,可以让你运行 MySQL 命令和对数据库的操作。

你还可以用它去浏览和编辑数据库表、行和字段,以及导入、导出或者删除数据库中的所有数据。

如何访问 phpMyAdmin?

所有顶级的 WordPress 主机公司都会预装 phpMyAdmin,你可以在主机账户的 cPanel 管理面板的数据库模块中找到它。以下是 Bluehost 控制面板的一个截图。

由于主机服务商不同,你的 cPanel 面板看起来可能跟上图中的不太一样,不过你应该也是可以在数据库模块中找到 phpMyAdmin 的图标的。

点击图标就会打开 phpMyAdmin 的界面,在界面的左侧边栏你可以选择你的 WordPress 数据库,然后 phpMyAdmin 会展示数据库中所有的数据表。

我们一起来看一下 WordPress 数据库中的表。

理解 WordPress 数据库中的表

WordPressan 安装的时候会有 12 张默认的数据表,每张表的数据都包含了 WordPress 不同的功能。

看看这些表的结构,你能很容易的了解网站不同的部分都是存在哪里的。目前,默认的 WordPress 安装会创建如下的数据表。

注意:每张表名前面的 wp_是你在安装过程中选择的数据库前缀。如果你在安装的时候进行了修改,那这里就会显示你自己修改的前缀。

wp_commentmeta:这张表存的是网站上发表的评论相关的元信息(Metadata)。它有四个字段 meta_id、comment_id、meta_key、和 meta_value,每个 meta_id 都关联一个 comment_id。一个关于存储评论元信息的例子就是评论的状态(已批准,待审,垃圾等)

wp_comments:从数据表的名字就可以看出来,这张表存的是 WordPress 的评论内容。它包含了评论者的名字、网址、邮箱、评论内容等。

wp_links:用于管理由旧版本的 WordPress 或者链接管理插件创建的博客卷(可以认为是友情链接之类的外链)。

wp_options:这张表包含了网站大部分的设置,例如网站 URL、管理员邮箱、默认分类、每页文章数量、时间格式等等的信息。这张表也被大量的 WordPress 插件用于存储插件的设置信息。

wp_postmeta:这张表包含了 WordPress 文章、页面以及自定义发布类型的元信息(Metadata)。举个例子,元信息可以是使用哪个模板去展示页面、自定义字段等等。一些插件也会使用这张表去存储插件的数据,例如 WordPress SEO 信息。

wp_posts:从名字上看说的是文章,但是实际上这张表包含了所有的文章类型,或者我们可以说是内容类型。这张表包含了你所有的文章、页面、修订和自定义发布类型

wp_termmeta:这张表可以让开发者为他们自定义分类的条目存储自定义元数据。例如 WooCommerce 会将产品属性和分类的元数据存储在这张表里。

wp_terms:WordPress 有一套强大的分类系统可以用来组织你的内容。每一个独立的分类项称之为 term,它们被存储在这张表里。例如,WordPress 的目录和标签就是分类,目录和标签中的每一项就是 term。

wp_term_relationships:这张表是用来管理 WordPress 发布类型和 wp_terms 表中 term 的关系的。例如这张表可以让 WordPress 知道发布的文章 X 是属于目录 Y 的。

wp_term_taxonomy:这张表为 wp_terms 表中的 term 定义了分类。例如,如果你有一个叫 “WordPress 教程” 的 term,那么这张表中的数据会将这个 term 一个叫 Category 的分类进行关联。简单来说,表中的数据可以帮助 WordPress 区别哪个 term 是目录,哪个是标签。

wp_usermeta:包含了网站注册用户的元信息。

wp_users:包含用户信息,例如用户名、密码、邮箱等。

通过 phpMyAdmin 管理 WordPress 数据库

WordPress 数据库包含了重要的设置、所有的博客文章、页面、评论等等。在使用 phpMyAdmin 的时候一定要非常的小心,否则你可能会不小心删除了重要的数据,然后就 Game Over 了。

为了以防万一,在操作数据库前一定要完整的备份你的数据库,这样即使出了问题你也可以恢复到之前的数据库。

下面我来看一下如何快速的备份 WordPress 数据库。

使用 phpMyAdmin 备份 WordPress 数据库

用 phpMyAdmin 备份 WordPress 数据库,先点击你的数据库,在顶部菜单中,点击 (导出)Export

在较新版本的 phpMyAdmin 中会让你选择一个导出方式。选择快速(Quick)方式会将数据库导出为一个. sql 格式的文件。在自定义(custom)方式中,可以通过更多的选项将备份下载为 zip 或 gzip 压缩文件。

我们推荐使用自定义方式,并选择 zip 格式作为压缩方式。自定义方式还可以再备份的时候选择从数据库中去掉某些不需要备份的表。

例如你曾经用过一个插件,这个插件创建了一个表,但是你现在已经没有用这个插件了,那么如果你就可以在备份的时候将这个表去掉。

通过 phpMyAdmin 中的 import(导入),你可以将导出的数据库文件导入另一个或者原来的数据库中。

使用插件备份 WordPress 数据库

在 WordPress 安全方面,保持定期备份网站就是你可以做的最有效的事情。虽然 WordPress 数据库包含了大部分的网站信息,但它仍然缺少一些相当重要的元素,例如模板文件,图片,上传的文件等。

所有图片都存在 / wp-content / 目录下的 uploads 文件夹内。即使数据库里的信息存储了哪张图片在哪篇文章里,但是如果图片文件夹里没有这些文件也是没用的。

WP 小白们常常会认为他们需要做的就仅仅是把数据库备份好就可以了。真不是这样的。你需要对网站进行一个完整的备份,包括你的主题、插件和图片。

虽然大部分的主机公司都声称提供日常备份的服务,我们推荐你自己去进行网站备份以防万一。你可以使用 WordPress 备份插件去设置定期自动备份。

使用 phpMyAdmin 导入 WordPress 数据库

你还可以使用 phpMyAdmin 轻松的导入你的 WordPress 数据库。启动 phpMyAdmin 然后选择你的数据库。

接下来,点击顶部菜单中的 “导入”(Import)。

在界面上点击 “选择文件”(Choose file)按钮然后选择你之前下载的数据库备份文件。接下来 phpMyAdmin 就会上传备份文件然后将其导入到 WordPress 数据库中。导入完毕后会看到一个成功的信息提示。

使用 phpMyAdmin 优化 WordPress 数据库

WordPress 在运行了一段时间后,数据库会产生一些碎片信息。这会增大整体的数据库体积以及查询执行时间。

MySQL 本身是有一个简单的命令可以去对数据库进行优化的。打开 phpMyAdmin,点击选择你的 WordPress 数据库,列出数据库中全部的数据表。

在表的下方点击 “全选”(Select All),在旁边有个 “选中项”(With selected)的下拉列表,点击下拉列表,然后选择 “优化表”(Optimize table)。

这样可以通过将选中的表去碎片化来优化 WordPress 数据库,可以让你的 WordPress 查询运行的稍微快一些,同时也可以稍微减少数据库的体积。

使用 phpMyAdmin 重置 WordPress 的密码

如果你忘记了管理员密码,而且也无法通过重置密码邮件来恢复,那么这个方法可以让你快速重置 WordPress 密码。

首先,启动 phpMyAdmin 并选择你的数据库,在右边展示的数据表列表中,点击 wp_users 表后面的 “浏览”(Browse)链接。

注意:你的数据库中表的名字的前缀可能跟上面展示的不一样。

现在就可以看到用户表中的数据行了。点击你想要修改密码的用户名最左边的 “编辑”(Edit)链接。

phpMyAdmin 会展示一个包含所有用户信息字段的表单。

你需要删除 user_pass 字段中的值,然后将你的新密码填进去。在函数一栏里,从下拉框中选择 MD5,然后点击 “执行”(Go)。

你的新密码会使用 MD5 进行加密,然后存在数据库中。

恭喜!你已经成功的使用 phpMyAdmin 修改了你的 WordPress 密码。

可能有些人会有疑惑为什么我们要选择 MD5 去加密密码。在老版本中,WordPress 使用 MD5 去加密密码。自从 WordPress 2.5 版本以后就开始使用更强的加密技术了。但是 WordPress 仍然可以识别 MD5 加密。

当你用 MD5 加密的密码登录后,WordPress 会识别出来然后用更新的加密算法对密码进行重新加密。

通过 phpMyAdmin 为 WordPress 增加新管理员用户

让我们来假设一种情景,你进入了 WordPress 数据库,但是不是 WordPress 的管理后台。你可以修改管理员用户的密码,这样就可以阻止其他管理员登录他们的账户。

一个更简单的方法是通过 phpMyAdmin 添加一个新的管理员账户。

首先,启动 phpMyAdmin,然后选择你的 WordPress 数据库,点击 wp_users 数据表中的 “浏览”(Browse)链接。

phpMyAdmin 会展示出该数据表中的数据行,然后点击顶部菜单栏中的 “插入”(Insert)。

在打开的页面中有一个添加新用户的表单。

下面是如何填写表单中的每一个字段。

ID – 忽略这个字段,因为是程序自动生成的。

user_login – 用来登录 WordPress 的用户名。

user_pass – 这是登录密码,你需要输入密码然后在函数(function)一栏选择 MD5。

user_nicename – 对 URL 友好的名字,可以跟登录用户名相同。

user_email – 用户邮箱,可以用来接收重置密码的邮件或者其他通知邮件。

user_url – 用户的网站 URL,或者留空。

user_registered – 请在函数栏选择 “CURRENT_TIME” 来自动插入当前时间。

user_activation_key – 这一行可以留空,这个是用来验证用户注册的。

user_status – 这行业可以留空。

display_name – 可以输入用户的全名如果你想在文章署名出显示的话,当然也可以留空。

填写完表单后,点击 “执行”(Go)按钮将新用户插入到数据库中。PHPMyAdmin 会运行 MySQL 查询命令去插入数据。

我们现在已经添加了一个用户,但是这个用户的角色并不是管理员。这个信息是存储在另一张叫做 wp_usermeta 的数据表中的。

在我们把这个用户设置为管理员之前,我们先要知道用户的 ID。点击 wp_users 表的 “浏览”(Browse)打开数据表,可以看到新添加的用户的数据以及用户 ID。

记住用户 ID,在下一步里我们会用到。

现在,打开 wp_usermeta 表。

接下来,点击顶部菜单中的 “插入”(Insert)来添加一行新数据。

你会看到一个用于添加新数据的表单,通过填写这个表单来告诉 WordPress 你刚刚创建的一个新用户拥有管理员的角色。

下面是如何填写这个表单。

umeta_id – 留空,这是自动生成的。

user_id – 输入你刚才记下来的用户 ID。

meta_key – 输入 wp_capabilities。如果你的数据表名使用了其他的前缀,你需要将 wp_替换成你自己的。

meta_value – 输入下面的值:

a:1:{s:13:”administrator”;s:1:”1″;}

最后,点击 “执行”(Go)按钮保存你的修改。

下一步,我们需要添加另一行来定义用户级别。点击上方的 “插入”(Insert)在 usermeta 表中添加另一行数据。

下面是如何填写该表单。

umeta_id – 留空

user_id – 输入新添加用户的 ID。

meta_key – 输入 wp_user_level。 wp_前缀不一样的替换成自己的。

meta_value – 输入 10 作为用户级别的值。

然后点击 “执行”(Go)插入数据。

现在你就可以使用新添加的管理员用户登录 WordPress 的管理后台了。

使用 phpMyAdmin 修改 WordPress 用户名

你可能也注意到了,WordPress 允许你修改用户的全名(Full Name)或者昵称(Nickname),但是不允许你修改用户名(Username)。

很多人在 WordPress 安装的时候选择的用户名,但是以后可能想修改。下面就是如何通过 PHPMyAdmin 修改用户名。

提示:使用插件修改用户名会更简单。

首先,启动 PHPMyAdmin,选择你的数据库,然后浏览 wp_users 表。

这个表展示了所有你网站上的注册用户,点击你想要修改的用户名旁边的 “编辑”(Edit)链接。

找到 user_login 字段,将值修改为你想要的新用户名。

最后点击 “执行”(Go)保存修改,这样你就可以使用新的用户名登录网站了。

加强 WordPress 数据库的安全性

在进行讨论之前,我们要强调,每个站点都可以被黑客入侵。 但是,你可以采取某些措施使其变得更难一些。

你可以做的第一件事就是修改 WordPress 数据库的前缀。这可以显著降低对你的数据库进行 SQL 注入攻击的几率,因为黑客通常会对网站进行批量攻击,并且将默认的 wp_表前缀作为目标。

第二,为你的 MySQL 用户选择安全级别更高的用户名和密码,这样会让黑客更难破解你的数据库。

对于 WordPress 的安全性,我们强烈推荐你使用 Sucuri。这是最好的 WordPress 安全插件,可以截取任何 MySQL 注入的尝试,甚至在攻击到达你的网站前就可以拦截。

最后,希望这篇指南可以让你学会了如何管理 WordPress 的数据库以及如何使用 PHPMyAdmin。


或许明日太阳西下倦鸟已归时