PHP Adminer

2025年1月11日 | 阅读 12 分钟

每位 PHP 设计师可能都使用过家喻户晓的 PHPMyAdmin,那个有价值的交互界面,由于其简单性,至少被保存了几次。但是,您可能无法在您想处理的每个网站上安装 PHPMyAdmin,因为您可能没有权限来修改或创建新文件。不知道 Adminer 存在的人可能会陷入困境。幸运的是,既然您已经意识到了这一点,您就知道 Adminer 的存在。

Adminer (以前称为 PHPMyAdmin) 是一个功能齐全的数据库管理工具,包含在一个 PHP 文件中。与 phpMyAdmin 不同,它由一个文件组成,可以部署到目标服务器。使用 Adminer 的最大优点之一是它支持 SQLite, MS SQL, Oracle, Firebird, Simple DB, Elastic search, MySQL, PostgreSQL 和 MongoDB。 Adminer 提供易于使用的界面、对许多 MySQL 工具的更好支持、卓越的性能和增强的安全性。

PHP Adminer

最有用的功能包括

  • 使用用户名和密码连接到数据库服务器
  • 选择现有数据库或创建新数据库
  • 列出表的字段、记录、外键和触发器
  • 修改表的名称、引擎、排序规则、自动增量和注释
  • 修改字段的名称、类型、长度、注释和默认值
  • 添加和删除表和字段
  • 创建、修改、删除和按字段搜索,包括全文搜索
  • 创建、修改、删除和使用外键连接记录
  • 创建、修改、删除和从视图创建
  • 创建、修改、删除和调用存储过程和函数
  • 创建、修改和删除触发器
  • 列出表中的数据,包括搜索、聚合、排序和限制结果
  • 插入新记录,更新和删除现有记录
  • 支持所有数据类型,通过文件传输进行批量处理
  • 从文本字段或文件执行任何 SQL 命令
  • 将表结构、数据、视图、存储过程、数据库导出为 SQL 或 CSV
  • 打印与外键关联的数据库模式
  • 显示进程并终止它们
  • 显示用户和权限并修改它们
  • 显示具有文档链接的变量
  • 管理事件和表模式
  • 映射、配置、用户类型
  • 广泛的自定义选项

如何启用 Adminer。

只需从浏览器访问 adminer.php 文件,即可完成。该文件只需在您的服务器上提供服务即可!您可以提供您的凭据(如果拥有),选择您想要管理的数据库,然后执行您想做的事情。该脚本对于商业和非商业用途免费(Apache 许可证或 GPL 2),并支持启用了会话的 PHP 5。

但是,在开始安装它之前,以下是让 Adminer 在您的服务器上运行的一些要求

  • 第一个要求是具有有效的 PHP 版本,可以是 5、7 或 8
  • 一个数据库(例如,MySQL、PostgreSQL...)

如何下载?

  1. 从其官方网站下载 Adminer 的最新版本。您也可以在那里找到 Adminer 的 MySQL 版本。如果您正在处理 CMS 的 MySQL 数据库,例如 WordPress 网站,您可以获取更轻量级的版本。
  2. 或者,如果您使用终端,您可以使用 curl 命令将其下载到您的目录。

curl - o https://github.com/vrana/adminer/releases/download/v4.7.8/adminer-4.7.8.php

PHP Adminer

Adminer 4.8.1 是最新的稳定版本。它增加了对刚发布的 PHP 8.0 的支持。如果有新版本可用,您可以更改上述代码下载 URL 中的 Adminer 版本号。

下载完成后,您可以将此 .php 文件放在服务器上,例如根目录。但是,最好将所有第三方工具放在一个单独的目录中(例如,vendor、assets 等)。

PHP Adminer

如何访问 Adminer?

您只需通过浏览器访问其链接即可访问它。

例如,如果您将其放在网站的根目录中,您可以通过访问 https://your-website-name/adminer-4.7.8.php 来访问它。如果您没有注册域名,您也可以通过 服务器的 IP 地址或 localhost 来访问它。

Adminer 将在下一个屏幕上自动显示服务器上所有可用数据库的列表。您可以登录到服务器上安装的任何数据库。您也可以将数据库字段留空。

勾选“永久登录”选项将保存您的登录详细信息,以便您稍后可以通过侧边栏链接轻松返回此会话。

如果您未指定数据库,Adminer 会列出所有数据库。

使用 Adminer 的一些主要优点

Adminer 包含许多功能,可简化数据库管理,其中一些是:-

  1. 连接到数据库服务器
  2. 创建新数据库
  3. 修改数据库名称和排序类型
  4. 探索数据库模式
  5. 检查表数据和结构
  6. 修改表和列设置
  7. 插入新记录和更新现有记录
  8. 搜索所有表中的数据
  9. 截断、删除、移动和复制表
  10. 创建表、视图、例程和事件
  11. 导入或导出数据库
  12. 执行 SQL 查询
  13. 显示和创建权限
  14. 广泛的自定义选项

连接到数据库服务器

如前所述,您可以连接到 Adminer 支持的任何数据库服务器。对于 MySQL 服务器,默认用户名是 root,默认密码是空字符串/null。您也可以在此选择一个现有数据库进行管理。

PHP Adminer

创建新数据库

您可以点击“创建数据库”连接来创建一个新的 MySQL 数据库。输入数据库名称并选择其类型。对于 WordPress 数据库,建议的排序类型是 utf8mb4_unicode_ci。

创建数据库后,您可以修改其各种组件,例如数据库的名称、模式、用户和表。设置数据库名称和排序类型以创建数据库

您现在已经创建了一个新的 MySQL 数据库。下一个页面将显示更多选项,用于填充表、字段等。

PHP Adminer

修改数据库名称和排序类型

点击 修改 按钮将允许您修改其名称和排序类型。如果您刚创建了一个数据库但出错了,这将非常有用。

例如,我可以轻松地将数据库的排序类型从 utf8_unicode_ci 更改为 utf8mb4_unicode_ci。

PHP Adminer

注意:如果数据库已被任何应用程序使用,请确保您在此处所做的更改也会反映在您的应用程序代码中。

探索数据库模式

数据库模式是指定义所有数据库组件如何相互关联的逻辑结构。在 MySQL 中,模式与数据库是同义的。因此,它们指的是同一件事。

但是,在 PostgreSQL 和 Oracle 等其他数据库中,模式是指一组表。它只是数据库的一部分。

WordPress 使用 MySQL 作为其数据库。因此,其模式是带有字段的表。Adminer 甚至允许您更改模式/架构框/表并根据您的意愿进行修改。

这是学习典型 WordPress 数据库模式细节的一个绝佳方法。

PHP Adminer

检查表数据和结构

点击任何表将显示有关它的更多详细信息。默认情况下,Adminer 会将您引导至“表结构”选项卡。您将找到有关表字段的信息,例如它们的名称、类型和记录。

如果您的数据库表有任何外键或触发器,它们也将在此处的最低部分列出。

PHP Adminer

修改表和列设置

点击顶部的“修改表”链接以修改表和字段设置。您可以为表更改其名称、引擎和排序类型。在底部,您还可以找到有关设置表开始自动增量的默认值以及是否可以用默认值和注释设置其字段的选项。

您可以修改字段的名称、类型、长度和排序类型。

此外,您可以通过点击 ( + ) 和 ( x ) 按钮来添加或删除字段。删除按钮将删除整个数据库表,因此请谨慎使用。

完成更改后,请记住点击“保存”按钮。

PHP Adminer

插入新记录和更新现有记录

点击“新建”链接进入“插入:<表名>”选项卡。

在这里,您可以为表添加新行。Adminer 列出字段名称和它们的类型,以便您可以快速输入。此外,您可以对输入的值运行哈希函数以自动对其进行加密。如果数据是敏感的,例如密码,这非常有用。例如,WordPress 使用 MD5 算法在数据库中存储密码。

这与编辑现有记录一样简单。例如,如果您想更改网站的描述,您可以在 wp_options 表中编辑 blog description

然后,您可以在 option_value 字段中输入新的博客描述,然后点击“保存”按钮使您的更改生效。

PHP Adminer

搜索所有表中的数据

Adminer 允许您立即搜索所有数据库表中的任何数据。它将显示最可能包含此值的表。

例如,当我们在 Adminer 中的数据库中搜索特定术语时,假设我们搜索词 employee,Adminer 将自动将 wp options 表列为最可能的候选者。点击它显示了 Adminer 在数据库中找到它的特定字段和行。

点击查询结果下方的表将显示有关它的更多详细信息。从这里,您可以在该表中执行更精细的查询。

PHP Adminer

截断、删除、移动和复制表

Adminer 允许您直接从数据库仪表板执行多种表操作。

您可以选择表并通过点击下方的按钮来执行多个 SQL 查询。

点击“删除”将彻底删除表。它将清空表中的所有行。但是,它仍将保留现有的字段结构。例如,如果我们想删除网站上的所有评论,我们可以轻松选择 wp_comments 表并点击“截断”按钮。

此外,我们还可以将表移动或复制到另一个数据库。使用“覆盖”选项,这是将网站数据(例如帖子和评论)从一个网站转移到另一个网站的便捷方法。

PHP Adminer

创建表、视图、例程和事件

您可以使用 Adminer 创建新的表、视图、存储过程和事件。

“创建表”功能允许您定义表的完整结构,包括其字段和默认值。

高级用户可以使用 Adminer 的其他高级功能来定义 MySQL 视图、过程、函数和事件。

PHP Adminer

导入或导出数据库

Adminer 允许您轻松导入 MySQL 数据库。您只需上传支持的 .sql.sql.gz 文件并执行它。此方法是恢复 MySQL 数据库的简单方法。此外,使用 Adminer 备份现有数据库也很简单。点击“导出”链接,然后选择导出选项,例如输出类型、格式和其他数据库设置。您还可以选择要导出的表。

Adminer 自动使用打开、保存或 GZIP 输出导出数据库,格式为 SQL、CSV、CSV 或 TSV。但是,可以使用 Adminer 的插件轻松扩展此功能。

PHP Adminer

执行 SQL 查询

您无需使用 Adminer 的繁琐界面来运行 SQL 查询。只需访问 SQL 命令屏幕并执行您想要的任何查询。

注意:语法高亮。Adminer 甚至将高亮显示的 SQL 关键字链接到其官方文档。

在执行查询之前,您可以限制其行数,设置在遇到错误时停止运行,并显示错误输出。

PHP Adminer

显示和创建权限

您可以使用 Adminer 为您的数据库创建具有自定义权限的新用户。通常这是不必要的,但如果您想创建一个新用户,您可以快速完成。

PHP Adminer

广泛的自定义选项

您可以使用其默认的 Adminer 类通过自定义代码扩展或覆盖 Adminer 的默认功能。为此,您需要定义一个返回 Adminer 类自定义值的 adminer_object 函数。

例如,如果我们想更改页面标题和标题中显示的名称,我们可以轻松地使用此代码完成此任务

正如您所见,我们想要的自定义名称 Adminer new student 将显示在标题部分。

PHP Adminer

Adminer 插件及其重要性

Adminer 插件是即用型扩展,您可以轻松地使用它们来扩展 Adminer 的默认功能。

例如,要以 XML 格式导出数据库,您可以安装 Adminer dump-xml 插件。 同样,您可以链接 dump-zip 插件将数据库导出为 ZIP 压缩文件。

官方网站列出了最受欢迎的 Adminer 插件。此外,您还可以找到有关如何设置和使用 Adminer 插件的信息。

Adminer 主题

Adminer 最酷的功能可能就是它的主题功能。官方网站列出了几个可以立即使用的现成主题。

要使用 Adminer 主题,您需要将主题的 adminer.css 文件放在与 adminer.php 相同的目录中。

上面的示例是 Adminer 网站上列出的 Hydra 主题。它是一个基于物理设计(Physical Design)的 Adminer 暗色主题。

另一个很好的 Adminer 主题示例是 Adminer Bootstrap-Like DesignAdminer Theme by penton。 使用上述任何主题作为模板,您可以通过修改 CSS 文件来根据自己的喜好进行自定义。

Adminer 和 phpMyAdmin 之间的区别

  1. 功能比较
    phpMyAdmin 只支持 MySQL 数据库,而 Adminer 支持许多其他数据库。Adminer 也提供仅限 MySQL 的版本。
    与 Adminer 相比,在 phpMyAdmin 中编辑和创建表是一项艰巨的任务。Adminer 可以批量选择数据并同时编辑它们。您会发现 phpMyAdmin 在这方面有所欠缺。
    您还可以查看 Adminer Editor,它是 Adminer 的一个变体,专注于编辑数据库。它一次只能处理一个数据库,您需要将其连接到另一个数据库才能使其工作。
    在某些方面,phpMyAdmin 表现出色。例如,它支持的语言和导出格式比 Adminer 多。庞大的用户群确保了一个蓬勃发展的社区,当您遇到任何问题时,他们会为您提供帮助。
  2. 安全性
    根据 Adminer 团队的说法,“安全是 Adminer 的重中之重。”
    例如,Adminer 会阻止在后端未设置密码的情况下访问数据库。它还限制连接尝试的速率,以防止暴力破解或 SQL 注入攻击。
    Adminer 的即插即用(plug-and-play)设计也意味着当您不需要它时,可以快速将其从服务器删除。如果您以后想再次使用它,可以快速重新上传。您无法对 phpMyAdmin 进行相同的操作。
    通过使用 Adminer 的 login-SSL 插件,您可以使用 SSL 连接到您的 MySQL 数据库服务器。Adminer 的仪表板还会告诉您是否有新版本可用,因此您可以确信您始终使用最新版本。
  3. 性能
    根据一项独立测试,Adminer 平均比 phpMyAdmin 快 28%。虽然他们早在 2009 年 Adminer 仍处于起步阶段时就发布了这些结果,但这是唯一可用的独立性能测试(尽管如此)。
    由于 Adminer 只有一个轻量级文件,即使在资源最有限的服务器上也可以部署它。
  4. 用户体验
    使用 Adminer 无论何时都非常简单,与 phpMyAdmin 不同。您无需调整任何配置或设置。它就是能用。
    Adminer 还提供了更好、更友好的用户界面。使用 Adminer 修改表、字段及其属性非常简单。导入数据库或进行备份也是如此。
    此外,Adminer 插件和主题允许您自定义其功能和界面以满足您的需求。这使得 Adminer 在用户体验方面成为明显的赢家。
  5. 文件大小
    Adminer 是一个轻量级的数据库管理工具。它比 phpMyAdmin 小 28 倍,尽管它支持比 phpMyAdmin 更多的数据库类型。
    Adminer 的最新完整功能版本(v4.7.8)仅重 478 KB,而 phpMyAdmin 的最新版本(v5.0.4)为 13.7 MB(而且它还是一个压缩文件)。当您考虑到 Adminer 的仅 MySQL 版本(354 KB)时,文件大小的差异就更加显著了。

如何将 Adminer 与 WordPress 一起使用

没有特定的方法可以将 Adminer 与 WordPress 一起使用。它与所有 MySQL 数据库的工作方式相同。下载其 PHP 文件,将其放在服务器上的任何位置,然后从浏览器访问它。登录 Adminer 后,您可以使用它来探索 WordPress 网站的数据库。

我们建议您在完成后从服务器删除 Adminer 文件。将其长时间无人看管地留在服务器上可能会使您的数据库面临漏洞。

曾经有一个名为 are-adminer 的 WordPress 插件,允许您直接从 WordPress 仪表板访问 Adminer。但是,由于存在严重的安全性问题,该插件已被弃用,并且已有近两年未提供下载。


下一个主题PHP 中的多态性