mcpField
Z
zeabur-database

zeabur-database

github.com/zeabur云与 DevOps39147 次安装7 周前更新
代码仓库

关于 zeabur-database

用于在 Zeabur 上部署数据库并将其连接到应用或本地客户端的 Skill,涵盖 PostgreSQL、MySQL、MongoDB 和 Redis 的连接信息与凭据。

主要功能

  1. 01搜索数据库模板
  2. 02获取网络与凭据信息
  3. 03连接 PostgreSQL、MySQL、MongoDB 和 Redis
  4. 04配置应用连接变量
  5. 05排查常见连接问题

适用场景

  1. 01查找用于部署的数据库模板
  2. 02连接同一项目中的应用与数据库
  3. 03通过公网网络进行本地连接
  4. 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 客户端。


注意事项

  1. 变量引用——Zeabur 使用扁平命名空间。项目中所有服务公开的变量都会合并到一起。应用可直接按名称引用这些变量(例如,${POSTGRES_HOST}),无需前缀。请通过 Zeabur Dashboard 设置这些变量——CLI 存在一个已知问题,会影响 ${} 的展开。
  2. 启动顺序——如果应用因数据库尚未就绪而崩溃,请查看 zeabur-startup-order 技能。
  3. 密码中的特殊字符——自动生成的密码可能包含会导致 URL 解析失败的字符(@、/、%)。如果应用无法解析密码,请改用单独的变量,而不是连接字符串。
  4. 已禁用端口转发——如果 service network 显示端口转发已禁用,请启用它:npx zeabur@latest service port-forward --id <id> --enable

评论

支持 Markdown