ServBay 文档:使用 Adminer 管理数据库
概述
ServBay 是一个专为 macOS 设计的强大本地 Web 开发环境,集成了多种 Web 服务器、编程语言运行时和数据库系统。为了方便开发者管理这些内置数据库,ServBay 预装并配置了 Adminer,一个功能强大且轻量级的数据库管理工具。本文档将指导您如何使用 Adminer 连接和管理 ServBay 中包含的数据库。
什么是 Adminer
Adminer 是一款用 PHP 编写的单文件数据库管理工具,它支持多种数据库系统,包括 MySQL、MariaDB、PostgreSQL、SQLite、MongoDB 等。相比于一些大型的数据库管理客户端,Adminer 具有以下显著优势:
- 轻量级与单文件部署: Adminer 仅由一个 PHP 文件构成,无需复杂的安装过程,易于部署和使用。ServBay 已将其集成,开箱即用。
- 多数据库支持: 通过一个统一的界面,可以连接和管理不同类型的数据库,减少了安装和学习多个独立工具的麻烦。
- 简洁直观的用户界面: 提供清晰、易于导航的界面,即使是初次使用的开发者也能快速上手。
- 功能全面: 支持绝大多数常见的数据库操作,如创建、修改、删除数据库、表、索引、用户,执行 SQL 查询,导入/导出数据等。
对于使用 ServBay 进行本地开发的开发者而言,Adminer 提供了一个便捷高效的数据库管理解决方案。
访问 Adminer
ServBay 启动后,Adminer 会自动运行并通过内置的 Web 服务器提供访问。您可以通过访问 ServBay 的默认本地域名加上 Adminer 文件名来访问它:
https://servbay.host/adminer.php
请确保 ServBay 应用程序正在运行,并且相关的 Web 服务器(如 Caddy 或 Nginx)以及您想要连接的数据库服务已启动。
连接到 ServBay 中的数据库
Adminer 的登录界面非常直观。您需要选择数据库类型,并提供连接所需的服务器地址、用户名、密码以及(对于某些数据库类型)数据库名称。ServBay 会为内置的数据库生成默认的用户名和密码,您可以在 ServBay 应用的『数据库』选项卡中找到这些信息。
连接到 MariaDB / MySQL
ServBay 通常默认集成 MariaDB 或 MySQL。在 Adminer 中,您通常选择 "MySQL" 类型来连接。
- 打开浏览器,访问 Adminer URL (
https://servbay.host/adminer.php
)。 - 在登录界面,系统 下拉菜单中选择
MySQL
。 - 输入服务器连接信息:
- 服务器: 输入
localhost
或使用 ServBay 提供的 Unix Socket 路径/Applications/ServBay/tmp/mysql.sock
。使用 Socket 连接通常更高效。 - 用户名: 在 ServBay 应用的『数据库』中查找 MariaDB/MySQL 的用户名。
- 密码: 在 ServBay 应用的『数据库』中查找 MariaDB/MySQL 的密码。
- 数据库: (可选)如果您想直接连接到某个特定数据库,可以在此输入其名称。留空则连接到服务器,登录后可以管理所有数据库。
- 服务器: 输入
- 点击
登录
按钮。
连接到 PostgreSQL
ServBay 也支持 PostgreSQL。在 Adminer 中,您需要选择 "PostgreSQL" 类型。
- 打开浏览器,访问 Adminer URL (
https://servbay.host/adminer.php
)。 - 在登录界面,系统 下拉菜单中选择
PostgreSQL
。 - 输入服务器连接信息:
- 服务器: 输入
/Applications/ServBay/tmp
。 - 用户名: 在 ServBay 应用的『数据库』中查找 PostgreSQL 的用户名。
- 密码: 在 ServBay 应用的『数据库』中查找 PostgreSQL 的密码。
- 数据库: 输入要连接的数据库名称,例如默认的
postgres
数据库,或者您创建的其他数据库。
- 服务器: 输入
- 点击
登录
按钮。
连接到 SQLite 3
ServBay 支持 SQLite 3 数据库。SQLite 数据库是一个文件,连接时需要指定数据库文件的路径。
- 打开浏览器,访问 Adminer URL (
https://servbay.host/adminer.php
)。 - 在登录界面,系统 下拉菜单中选择
SQLite 3
。 - 输入数据库文件路径:
- 数据库文件: 输入 SQLite 数据库文件的完整路径。建议将您的 SQLite 数据库文件存放在 ServBay 的数据目录下,例如
/Applications/ServBay/db/sqlite/your_database_name.sqlite
。 - 如果您输入的文件路径指向一个不存在的文件,Adminer 会询问是否创建该数据库文件。
- 数据库文件: 输入 SQLite 数据库文件的完整路径。建议将您的 SQLite 数据库文件存放在 ServBay 的数据目录下,例如
- 点击
登录
按钮。
执行常见的数据库操作
成功登录到数据库服务器或特定数据库后,您可以使用 Adminer 的界面执行各种数据库管理任务。不同数据库类型的界面和可用功能可能略有差异,但基本操作流程类似。
创建数据库
(适用于 MariaDB/MySQL, PostgreSQL)
- 登录到数据库服务器(未指定特定数据库)。
- 在左侧导航栏或主界面中找到
创建数据库
或类似的选项。 - 输入新的数据库名称。
- 选择字符集和排序规则(如果需要)。
- 点击
保存
或创建
按钮。
(对于 SQLite 3,数据库创建是在登录时通过指定一个不存在的文件路径来完成的。)
管理表和数据
- 选择一个数据库(如果登录时未指定)。
- 在数据库概览页面,找到
创建表
选项。 - 输入表名,并定义表的字段(列),包括字段名、数据类型、长度、是否允许 NULL、默认值、索引(主键、唯一索引、普通索引)等。
- 点击
保存
创建表。 - 创建表后,从左侧导航栏或概览页面选择该表。
- 执行数据操作:
插入
: 添加新的数据行。选择
: 查看、搜索、排序和过滤现有数据。更新
: 修改现有数据行。删除
: 删除现有数据行。- 使用
SQL 命令
执行更复杂的查询和操作。
执行 SQL 命令
Adminer 提供一个 SQL 命令输入界面,您可以直接在此输入并执行 SQL 语句,进行更灵活的数据库管理和数据查询。
- 选择您要执行命令的数据库。
- 点击
SQL 命令
选项。 - 在文本区域输入您的 SQL 语句。
- 点击
执行
按钮。
导入和导出数据
Adminer 支持将数据库结构和数据导出为 SQL 文件或其他格式(如 CSV),也支持从这些文件导入数据,这对于数据迁移、备份或与他人共享数据非常有用。
- 选择要导入/导出的数据库或表。
- 找到
导出
或导入
选项。 - 根据界面提示选择格式、选项并执行操作。
删除数据库
(适用于 MariaDB/MySQL, PostgreSQL)
- 登录到数据库服务器(未指定特定数据库)。
- 在数据库列表中选择要删除的数据库。
- 点击
删除
选项并确认。请注意,此操作不可逆,将永久删除数据库及其所有数据。
(对于 SQLite 3,删除数据库意味着删除对应的 .sqlite
文件。您需要在文件系统中手动删除该文件。)
注意事项
- 凭据安全: 从 ServBay 设置中获取的数据库用户名和密码应妥善保管,不要泄露。
- ServBay 运行状态: Adminer 是通过 ServBay 内置的 Web 服务器访问的,并且需要数据库服务正在运行才能连接。如果无法访问 Adminer 或连接数据库,请检查 ServBay 应用程序是否正在运行以及相关的软件包(Caddy/Nginx, MariaDB/MySQL, PostgreSQL 等)是否已启动。
- SQLite 文件路径: 确保为 SQLite 数据库文件指定了 ServBay 用户有读写权限的路径,建议使用 ServBay 的数据目录
/Applications/ServBay/db/sqlite/
。 - 性能: Adminer 是一个轻量级工具,对于非常大的数据库或复杂的管理任务,专用的桌面客户端工具(如 TablePlus, DBeaver, pgAdmin 等)可能提供更高级的功能或更好的性能。
常见问题 (FAQ)
Q: 我无法访问 https://servbay.host/adminer.php
,怎么办?
A: 确保 ServBay 应用程序正在运行,并且 ServBay 的 Web 服务器(通常是 Caddy 或 Nginx)已启动。检查您的浏览器是否允许访问 https://servbay.host
。
Q: 我忘记了数据库的用户名或密码,在哪里可以找到?
A: 您可以在 ServBay 应用程序界面的『数据库』选项卡中找到 ServBay 默认生成的各个数据库的用户名和密码。
Q: 连接 PostgreSQL 时,服务器地址和端口是什么?
A: 通常服务器地址是 localhost
,默认端口是 5432
。您可以在 ServBay 设置中确认 PostgreSQL 的监听地址和端口。如果通过 Unix Domain Socket 方式连接,请输入/Applications/ServBay/tmp
(注意:PostgreSQL 不需要输入 .sock
后缀)。
Q: 连接 MariaDB/MySQL 时,服务器地址和 socket 路径有什么区别?
A: localhost
通常通过 TCP/IP 连接(默认端口 3306),而 /Applications/ServBay/tmp/mysql.sock
是通过 Unix Domain Socket 连接。在本地环境下,Socket 连接通常比 TCP/IP 连接稍快且更安全。您可以根据需要选择其中一种方式。
Q: 我可以在 Adminer 中管理 ServBay 没有内置的其他数据库吗?
A: Adminer 本身支持多种数据库类型。如果您在 ServBay 外部安装了其他数据库(如独立的 MongoDB 或远程数据库),理论上可以使用 ServBay 中的 Adminer 文件连接它们,前提是网络可达且您有正确的连接信息。但 Adminer 的主要集成价值在于方便管理 ServBay 内置的数据库。
总结
Adminer 是 ServBay 提供的一个非常方便的数据库管理工具,以其单文件、轻量级和多数据库支持的特性,极大地简化了在本地开发环境中管理 MariaDB/MySQL、PostgreSQL 和 SQLite 数据库的工作。通过本文档的指引,您应该能够轻松地连接到 ServBay 中的数据库,并使用 Adminer 执行日常的数据库管理和数据操作任务。