如何使用 Adminer 通过单个 PHP 文件轻松管理数据库
已发表: 2021-01-18管理 MySQL 数据库是成为专业 WordPress 开发人员的基本要求之一。 Adminer 极大地简化了这项任务。
每个 WordPress 网站都需要一个数据库才能运行——它是 WordPress 存储所有网站关键数据的地方。 虽然 phpMyAdmin 多年来一直是主要的 MySQL/MariaDB 数据库管理工具,但 Adminer 是一个很好的选择。 它装载了大量有用的功能和更漂亮的 UI,所有这些都在一个轻量级的 PHP 文件中,您可以在服务器上快速部署。
在这篇文章中,您将了解 Adminer,它比 phpMyAdmin 提供的许多好处,以及如何使用它来管理您的数据库。 我们还将探讨 DevKinsta 如何使用 Adminer 在本地开发环境中简化 WordPress 数据库管理。
让我们开始工作吧!
什么是管理员?
Adminer(以前的 phpMinAdmin)是一个基于 PHP 的免费开源数据库管理工具。 在您的服务器上部署非常简单。 要使用它,您只需上传它的单个 PHP 文件,将浏览器指向它,然后登录。

与 phpMyAdmin 只支持管理MySQL和MariaDB数据库不同,Adminer 还支持管理其他数据库,如PostgreSQL 、 SQLite 、 MS SQL 、 Oracle 、 SimpleDB 、 Elasticsearch 、 MongoDB和Firebird 。 它还提供43种语言版本。
Adminer 提供易于使用的界面,更好地支持许多 MySQL 功能,更出色的性能和更高的安全性。
现在让我们探索如何安装Adminer。
如何使用管理员
但在您开始安装它之前,以下是让管理员在您的服务器上工作的一些基本要求:
- 安装 PHP 5、7 或 8
- 数据库驱动程序(例如 MySQL、PostgreSQL 等)
差不多就是这样!
从他们的官方网站下载最新版本的Adminer。 您还可以在那里找到仅 MySQL 和仅英语版本的 Adminer。 如果您正在管理 MySQL 或 MariaDB 数据库(例如,对于 WordPress 站点),您可以获得这些更轻的变体。

或者,如果您使用的是终端,您可以使用curl命令将其直接下载到您的目录中。
curl -o https://github.com/vrana/adminer/releases/download/v4.7.8/adminer-4.7.8.php
Adminer 4.7.8是最新的稳定版本。 它增加了对刚刚发布的 PHP 8.0 的支持。 如果有新版本可用,您可以在上述代码的下载 URL 中更改管理员的版本号。
下载后,您可以将此.php文件放在服务器上的任何位置,例如其根文件夹。 但是,最好将所有第三方工具放在单独的目录中(例如vendor 、 assets等)。
你现在已经在你的服务器上安装了Adminer。 它的即插即用设计意味着Adminer 几乎可以在任何服务器上工作。
如何访问管理员
要访问它,您需要做的就是通过浏览器访问它的链接。
例如,如果您已将其放在网站的根目录中,则可以通过访问https://your-website.com/adminer-4.7.8.php来访问它。 如果您没有设置域名,您也可以通过您的服务器的 IP 地址或 localhost 环境访问它。

从这里,您可以登录到服务器上安装的任何数据库。 您也可以将数据库字段留空。 管理员将在其下一个屏幕上向您显示所有数据库的列表。
勾选永久登录选项将保存您的登录详细信息,以便您以后可以通过侧面的链接轻松地重新访问此会话。

管理员功能
Adminer 包括许多功能,使数据库管理更加轻松。 是时候深入了解它们了。
连接到数据库服务器
如前所述,您可以连接到管理员支持的任何数据库服务器。 对于 MySQL 数据库服务器,默认用户名是root,默认密码是空字符串。 您还可以在此处选择要管理的现有数据库。

创建新数据库
您可以单击创建数据库链接来创建一个新的 MySQL 数据库。 输入数据库名称并选择其排序规则类型。 对于 WordPress 数据库,推荐的排序规则类型是utf8mb4_unicode_ci 。

创建数据库后,您可以更改它的各个方面,例如数据库的名称、架构、用户和表。

您现在已经创建了一个新的 MySQL 数据库。 下一页将向您展示更多使用表格、列等填充它的选项。

更改数据库名称和排序规则类型
单击Alter database链接将允许您更改其名称和排序规则类型。 如果您刚刚创建了一个数据库并打错了字,这将非常方便。

例如,我将数据库的排序规则类型从utf8_unicode_ci 更改为utf8mb4_unicode_ci 。

注意:如果您的数据库已被任何应用程序使用,请确保您在此处所做的更改也反映在应用程序的代码中。
探索数据库模式
数据库模式是指定义所有数据库元素如何相关的逻辑配置。 在 MySQL 中,模式是数据库的同义词。 因此,它们指的是同一件事。
但是,在 PostgreSQL 和 Oracle 等其他数据库中,模式是指表的集合。 它只是数据库的一部分。
WordPress 使用 MySQL 作为其数据库。 因此,它的模式本质上是它的表及其列。 Adminer 甚至可以让您在模式框中移动并随心所欲地使用它们。

这是了解典型 WordPress 数据库结构的来龙去脉的好方法。
检查表数据和结构
单击任何表将显示有关它的更多详细信息。 默认情况下,Adminer 会将您定向到表的显示结构选项卡。 在这里,您将找到有关表列的信息,例如它们的名称、类型和索引。

如果您的数据库表有任何外键或与之关联的触发器,它们也会在最底部的部分中列出。
上面的示例显示了有关 wp_options 表的详细信息。 这是 WordPress 存储其所有关键设置的地方。 接下来,您可以转到“选择数据”选项卡以查看存储在此表中的所有值。

如您所见,这里的用户界面比 phpMyAdmin 中的用户界面更容易。
更改表和列设置
单击顶部的更改表链接以更改表和列设置。

对于表,您可以更改其名称、引擎和排序规则类型。 在底部,您还可以找到设置表格默认值以启动自动增量的选项,以及是否可以使用默认值和注释设置其列。
至于列,您可以更改它们的名称、类型、长度和排序规则类型。
您还可以通过单击+和x按钮来添加或删除列。 Drop按钮将完全删除数据库表,因此请谨慎使用。
完成更改后,不要忘记点击保存按钮。
插入新记录并更新现有记录
点击New item链接转到Insert: <table_name>选项卡。

在这里,您可以向表中添加新行。 管理员列出列名及其类型,以便您快速输入。 您还可以为输入的值运行哈希函数以自动加密它们。 如果数据是敏感的,比如密码,这将非常有用。 例如,WordPress 使用 MD5 算法将其密码存储在数据库中。
编辑现有记录同样简单。 例如,如果您想更改站点的描述,您可以在wp_options表中编辑blogdescription选项的值。

接下来,在option_value字段中输入您的新博客描述,然后单击保存按钮以使您的更改生效。

在所有表中搜索数据
Adminer 允许您一次在数据库的所有表中搜索任何数据。 它将向您显示最有可能持有该值的表格。

当我搜索home一词时,Adminer 将wp_options表作为最有可能的候选者。 单击它向我显示了管理员在数据库中找到它的确切列和行。
单击搜索结果下列出的表格将显示有关它的更多详细信息。 从这里,您可以在此表中执行更精细的搜索。

例如,我可以编辑主页选项名称的值并更改我网站的主页 URL。
截断、删除、移动和复制表格
Adminer 允许您直接从数据库的仪表板对表执行许多操作。

您可以通过选择表并单击下面的按钮对表执行许多 SQL 查询。
例如,如果您想删除站点上的所有评论,您可以选择wp_comments表并点击Truncate按钮。 它会清空表中的所有行,但仍会保留现有的列结构。 点击Drop按钮将完全删除该表。
从这里,您还可以将表移动或复制到另一个数据库。 使用覆盖选项,这是一种将站点数据(例如帖子和评论)从一个站点传输到另一个站点的快速而肮脏的方式。
创建表、视图、例程和事件
您可以使用Adminer 创建新的表、视图、例程和事件。

创建表功能允许您定义表的完整架构,包括其列和嵌套值。
高级用户可以使用 Adminer 的其他高级功能来定义 MySQL 视图、过程、函数和事件。

导入或导出数据库
Adminer 让您轻松导入 MySQL 数据库。 您需要做的就是上传备份的.sql或 . sql.gz (推荐)文件并执行它。 此方法是恢复 MySQL 数据库的简单方法。

同样,使用Adminer 备份现有数据库也非常简单。 单击导出链接,然后选择导出选项,例如输出类型、格式和其他数据库设置。 您还可以选择要导出的表。

默认情况下,Adminer 支持使用Open 、 Save或GZIP输出,使用SQL 、 CSV 、 CSV 导出数据库; ,或TSV格式。 但是,您可以使用 Adminer 插件轻松扩展此功能。 我将在本文后面介绍它们。
执行 SQL 查询
您不必使用 Adminer 处理笨拙的用户界面来运行 SQL 查询。 只需访问SQL 命令屏幕并执行您想要的任何查询。

注意语法高亮。 Adminer 甚至将突出显示的 SQL 关键字链接到他们的官方文档。
在执行查询之前,您可以限制其行数,将其设置为在遇到错误时停止运行,并且只显示错误输出。
显示和创建权限(用户)
您可以使用管理员为您的数据库创建具有自定义权限的新用户。 在大多数情况下这是不必要的,但如果您想创建一个新用户,您可以选择快速完成。


广泛的定制选项
您可以使用默认的Adminer类,用您的自定义代码扩展或覆盖 Adminer 的默认功能。 为此,您需要定义一个adminer_object函数,该函数返回 Adminer 类的自定义值。
想立即使用Adminer? DevKinsta 在其免费的本地开发工具套件中使用 Adminer。 使用 DevKinsta,您可以在几分钟内构建、测试和部署 WordPress 站点。 立即试用 DevKinsta!
例如,如果要自定义显示在页面标题和标题中的名称,可以使用以下代码进行操作:
<?php function adminer_object() { class AdminerExtender extends Adminer {function name() { // your custom name for title & heading return 'Adminer for Kinsta'; } } return new AdminerExtender; } include './adminer-4.7.8.php';
您现在可以在标题部分看到我们设置的自定义名称(“Kinsta 管理员”)。

您可以使用 Adminer 的扩展来做更多很酷的事情。 您可以在他们的 API 参考页面上了解有关 Adminer 扩展的更多信息。
管理员插件
Adminer 插件是即用型扩展,您可以使用它轻松扩展 Adminer 的默认功能。
例如,如果您想以 XML 格式导出数据库,您可以安装 Adminer dump-xml 插件。 同样,如果要将数据库导出为 ZIP 压缩文件,可以插入 dump-zip 扩展名。

官网列出了一些最受欢迎的Adminer插件。 您还可以在此处找到有关如何设置和使用管理器插件的信息。
管理员主题
Adminer 最酷的功能之一是其主题功能。 官方网站列出了一些现成的设计,您可以立即使用。

要使用 Adminer 主题,您需要将主题的adminer.css文件放在adminer.php所在的同一目录中。
就这么容易。

上面的例子是 Adminer 网站上列出的 Hydra 主题。 这是 Adminer 的基于 Material Design 的深色主题。

其他一些好的 Adminer 主题示例是 Adminer Bootstrap-Like Design 和 pematon 的 Adminer Theme。 使用上述任何主题作为模板,您可以通过修改 CSS 文件来根据自己的喜好自定义它们。
管理员与 phpMyAdmin
现在我们已经探索了 Adminer 的许多功能,是时候看看 Adminer 与行业领导者 phpMyAdmin 的比较了。 以下是对它们如何在各个方面叠加的简要回顾:
Adminer vs phpMyAdmin:功能比较
phpMyAdmin 仅支持 MySQL 数据库,而 Adminer 支持许多其他数据库。 Adminer 也可用于 MySQL-only 风格。
与 Adminer 相比,在 phpMyAdmin 中编辑和创建表是一件苦差事。 使用 Adminer 可以轻松地批量选择数据并一次编辑它们。 你会发现在这方面缺少 phpMyAdmin。
您还可以查看Adminer Editor,它是Adminer 的一个变体,专注于编辑数据库。 它一次只能使用一个数据库,您需要将其连接到另一个数据库才能使其工作。
phpMyAdmin 有一些擅长的领域。 例如,它支持比 Adminer 更多的语言和导出格式。 其庞大的用户群确保有一个蓬勃发展的社区愿意在您遇到任何问题时为您提供帮助。
管理员与 phpMyAdmin:安全性
根据 Adminer 的团队,“安全性是 Adminer 开发的第一要务。 ” 例如,Adminer 无需在后端设置密码即可阻止对数据库的访问。 它还限制连接尝试以防止暴力破解或 SQL 注入攻击。
Adminer 的即插即用设计还意味着您可以在不再需要时快速将其从服务器中删除。 如果以后想再次使用,可以快速上传回来。 你不能对 phpMyAdmin 做同样的事情。
通过使用Adminer 的login-ssl 插件,您可以使用SSL 连接到您的MySQL 数据库服务器。 管理员的仪表板还会提示您是否有新版本可用,因此您可以确保始终使用最新版本。
Adminer vs phpMyAdmin:性能
根据 Juraj Hajduch 的独立测试,Adminer 平均比 phpMyAdmin 快28% 。 虽然他们早在 2009 年就发布了这些结果,当时 Adminer 仍处于起步阶段,但它是唯一可用的独立性能测试(迄今为止)。
由于Adminer 仅包含一个轻量级文件,因此您甚至可以将其部署在资源最有限的服务器上。
Adminer vs phpMyAdmin:用户体验
与 phpMyAdmin 不同,使用Adminer 从一开始就轻而易举。 您不必涉足任何配置或设置。 它只是工作。
Adminer 还提供了更好、更友好的用户界面。 使用 Adminer 自定义表、列及其值非常简单。 导入数据库或进行备份也是如此。
此外,Adminer 插件和主题可让您自定义其功能和界面以满足您的要求。 从用户体验的角度来看,这使得 Adminer 成为明显的赢家。
Adminer vs phpMyAdmin:文件大小
Adminer 是一个紧凑的数据库管理工具。 它至少比phpMyAdmin小 28 倍,尽管它支持的数据库类型比 phpMyAdmin 多。
最新的全功能版本的 Adminer (v4.7.8) 仅有区区478 KB ,而 phpMyAdmin 的最新版本 (v5.0.4) 为13.7 MB (另外,它是一个可启动的压缩文件)。 当您考虑 Adminer 的 MySQL-only 版本 ( 354 KB ) 时,文件大小差异甚至更加明显。
如何在 WordPress 中使用管理员
没有特别的方法可以将 Adminer 与 WordPress 一起使用。 它适用于所有 MySQL 数据库。 下载其 PHP 文件,将其放在服务器上的任何位置,然后从浏览器访问它。 登录到 Adminer 后,您可以使用它浏览您的 WordPress 站点的数据库。
我建议您在完成使用后从服务器中删除管理员文件。 在服务器上长时间无人看管可能会使您的数据库暴露于漏洞中。
有一个名为 ari-adminer 的 WordPress 插件,可让您直接从 WordPress 仪表板访问 Adminer。 然而,由于一个严重的安全问题,它已经关闭并且在近两年内不再可供下载。
在 WordPress 中使用 Adminer 的下一个最佳方法是使用 DevKinsta。
DevKinsta 和管理员:简单的 WordPress 数据库管理
DevKinsta 是 Kinsta 的免费本地开发工具套件,它在后台使用 Adminer 为其数据库管理器提供支持。

单击 DevKinsta 仪表板中的数据库管理器按钮以访问管理员。

DevKinsta 的数据库管理器支持本文前面讨论的所有管理员功能。 您可以使用它在不同的数据库之间切换、查看和编辑表、操作数据库值、导入和导出数据库、运行 SQL 查询等等。
如果您使用 DevKinsta 在本地设置多个站点,则可以从管理员的仪表板在它们的数据库之间切换。 只需从左上角的下拉菜单中选择您要使用的数据库。
您可以访问 DevKinsta 文档以获取有关其数据库管理器的更多信息。
文概括
Adminer 是 phpMyAdmin 的最佳替代品之一。 它不仅占地面积更小,而且工作起来也更加快捷。 它处于缓慢但不断的发展之中。 Adminer 的最新版本增加了对 PHP 8 环境的支持,使其面向未来。
如果您想尝试使用 Adminer,您几乎可以立即使用 DevKinsta 创建一个本地 WordPress 站点,并开始使用 Adminer 探索其数据库。
现在轮到你了:你对Adminer的体验如何? 您对使用 Adminer 或 DevKinsta 管理数据库有任何疑问吗? 如果是这样,请在评论部分分享它们。