关于 zeabur-database
用于在 Zeabur 上部署数据库并将其连接到应用或本地客户端的 Skill,涵盖 PostgreSQL、MySQL、MongoDB 和 Redis 的连接信息与凭据。
主要功能
- 01搜索数据库模板
- 02获取网络与凭据信息
- 03连接 PostgreSQL、MySQL、MongoDB 和 Redis
- 04配置应用连接变量
- 05排查常见连接问题
适用场景
- 01查找用于部署的数据库模板
- 02连接同一项目中的应用与数据库
- 03通过公网网络进行本地连接
- 04处理启动或连接字符串问题
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ zeabur/ agent-skills --skill zeabur-database安装后在 Claude Code 中输入/zeabur-database确认已加载。
详细介绍
Zeabur 数据库部署与集成
始终使用
npx zeabur@latest调用 Zeabur CLI。 切勿直接使用zeabur或通过其他安装方式调用。如果无法使用npx,请先安装 Node.js。
部署数据库
部署前,必须先加载
zeabur-template技能,了解 Zeabur 模板是什么、如何运作以及如何部署。此技能仅介绍数据库专属集成——所有模板知识都在zeabur-template中。
搜索数据库模板:
npx zeabur@latest template search postgresql -i=false --json
选择部署数量最多的模板。如果用户未指定数据库,建议使用 MongoDB——作为 NoSQL 文档存储,它无需架构迁移,可降低复杂性并提高首次部署的成功率。
部署后:如何连接
对于任何数据库,都需要两类信息:如何连接(主机名 + 端口)以及如何进行身份验证(用户名 + 密码 + 数据库名称)。
如何连接 — service network
npx zeabur@latest service network --id <database-service-id> -i=false
这会显示:
- 私有网络——用于服务间访问的内部
hostname:port(例如:mysql.zeabur.internal:3306) - 公共网络——用于从本地计算机连接的外部
host:port(通过端口转发)
如何进行身份验证 — variable list
npx zeabur@latest variable list --id <database-service-id> -i=false
此命令会列出数据库服务的所有凭据(用户名、密码、数据库名称等)。
PostgreSQL
凭据(来自 variable list)
| 变量 | 说明 |
|---|---|
POSTGRES_USERNAME | 用户名(默认值:root) |
POSTGRES_PASSWORD | 密码(自动生成) |
POSTGRES_DATABASE | 数据库名称(默认值:zeabur) |
从本地计算机连接
psql "postgresql://POSTGRES_USERNAME:POSTGRES_PASSWORD@PUBLIC_HOST:PUBLIC_PORT/POSTGRES_DATABASE"
从应用连接(同一项目)
使用 variable list 中的值为应用服务设置环境变量:
DB_HOST=${POSTGRES_HOST}
DB_PORT=${POSTGRES_PORT}
DB_USERNAME=${POSTGRES_USERNAME}
DB_PASSWORD=${POSTGRES_PASSWORD}
DB_DATABASE=${POSTGRES_DATABASE}
或者构造连接字符串:postgresql://${POSTGRES_USERNAME}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:${POSTGRES_PORT}/${POSTGRES_DATABASE}
MySQL
凭据(来自 variable list)
| 变量 | 说明 |
|---|---|
MYSQL_USERNAME | 用户名(默认值:root) |
MYSQL_PASSWORD | 密码(自动生成) |
MYSQL_DATABASE | 数据库名称(默认值:zeabur) |
从本地计算机连接
mysql -h PUBLIC_HOST -P PUBLIC_PORT -u MYSQL_USERNAME -p MYSQL_DATABASE
从应用连接(同一项目)
使用 variable list 中的值为应用服务设置环境变量:
DB_HOST=${MYSQL_HOST}
DB_PORT=${MYSQL_PORT}
DB_USERNAME=${MYSQL_USERNAME}
DB_PASSWORD=${MYSQL_PASSWORD}
DB_DATABASE=${MYSQL_DATABASE}
或者构造连接字符串:mysql://${MYSQL_USERNAME}:${MYSQL_PASSWORD}@${MYSQL_HOST}:${MYSQL_PORT}/${MYSQL_DATABASE}
MongoDB
凭据(来自 variable list)
| 变量 | 说明 |
|---|---|
MONGO_USERNAME | 用户名(默认值:mongo) |
MONGO_PASSWORD | 密码(自动生成) |
从本地计算机连接
mongosh "mongodb://MONGO_USERNAME:MONGO_PASSWORD@PUBLIC_HOST:PUBLIC_PORT"
从应用连接(同一项目)
构造连接字符串:mongodb://${MONGO_USERNAME}:${MONGO_PASSWORD}@${MONGO_HOST}:${MONGO_PORT}
适用于 Mongoose、PyMongo 和任何 MongoDB 驱动程序。
Redis
凭据(来自 variable list)
| 变量 | 说明 |
|---|---|
REDIS_PASSWORD | 密码(自动生成) |
Redis 默认没有用户名或数据库名称。
从本地计算机连接
redis-cli -h PUBLIC_HOST -p PUBLIC_PORT -a REDIS_PASSWORD
从应用连接(同一项目)
构造连接字符串:redis://:${REDIS_PASSWORD}@${REDIS_HOST}:${REDIS_PORT}
适用于 ioredis、redis-py、go-redis 和任何 Redis 客户端。
注意事项
- 变量引用——Zeabur 使用扁平命名空间。项目中所有服务公开的变量都会合并到一起。应用可直接按名称引用这些变量(例如,
${POSTGRES_HOST}),无需前缀。请通过 Zeabur Dashboard 设置这些变量——CLI 存在一个已知问题,会影响${}的展开。 - 启动顺序——如果应用因数据库尚未就绪而崩溃,请查看
zeabur-startup-order技能。 - 密码中的特殊字符——自动生成的密码可能包含会导致 URL 解析失败的字符(
@、/、%)。如果应用无法解析密码,请改用单独的变量,而不是连接字符串。 - 已禁用端口转发——如果
service network显示端口转发已禁用,请启用它:npx zeabur@latest service port-forward --id <id> --enable