使用 DATABASE_URL 连接数据库

连接数据库最快的方式——粘贴一个 URL 即可完成配置。

连接数据库不需要一个个填写主机、端口、用户名、密码、数据库名这些字段。你只需要粘贴一个叫做 DATABASE_URL 的字符串,就能完成全部配置。这是最快的连接方式,而且大多数云数据库平台都会在控制台里直接给你这个字符串,复制过来就好。

DATABASE_URL 是什么

DATABASE_URL 是一行文本,把建立数据库连接所需的全部信息都编码进去了。它的格式和网址(URL)类似,容易阅读,也方便在不同工具之间共享。

下面是一个 PostgreSQL DATABASE_URL 的例子:

postgresql://myuser:[email protected]:5432/myapp_production

逐段拆解来看:

部分示例值含义
引擎postgresql://数据库类型,1DevTool 据此选择对应的驱动
用户名myuser登录数据库所用的用户
密码mypassword该用户的密码
主机db.example.com数据库所在的服务器地址,可以是域名或 IP
端口5432数据库监听的网络端口,PostgreSQL 默认是 5432
数据库名myapp_production服务器上你要连接的具体数据库

把这个 URL 粘贴进 1DevTool 之后,它会自动解析每个部分,并把所有连接字段填好——你不需要手动输入任何内容。

去哪里找你的 DATABASE_URL

每个云数据库平台都会在控制台的某个地方提供连接字符串,下面列出了最常见的几个:

Supabase 进入你的项目 → Project Settings(侧边栏的齿轮图标)→ Database 标签 → 向下滚动到 Connection String → 点击 URI 选项卡。复制显示的字符串,格式类似 postgresql://postgres:[YOUR-PASSWORD]@...supabase.co:5432/postgres

Neon 进入 Dashboard → 选择你的项目 → 点击右侧面板的 Connection Details → 复制 Connection string。Neon 使用 postgresql:// 格式,对应 serverless 端点。

Railway 打开项目 → 点击数据库服务 → 进入 Variables 标签 → 找到 DATABASE_URL。Railway 还会自动把这个变量注入到你的应用里,所以你的代码里可能已经有了。

Heroku 进入你的应用 → Settings 标签 → 向下滚动到 Config Vars → 找 DATABASE_URL。Heroku 会为所有 Heroku Postgres 插件自动设置这个变量。

本地 PostgreSQL(运行在自己电脑上) 如果你在本地安装了 PostgreSQL 且没有改过默认配置,URL 是:

postgresql://postgres:password@localhost:5432/mydb

password 替换成你实际的 postgres 用户密码,mydb 替换成你创建的数据库名。

本地 MySQL

mysql://root:password@localhost:3306/mydb

在 1DevTool 里连接数据库——一步步来

  1. 在 1DevTool 里打开你的项目,点击左侧工具栏的数据库图标(圆柱形符号),或按 Cmd+D(Mac)/ Ctrl+D(Windows)。
  2. 点击数据库面板左侧连接栏里的 + 按钮,弹出 Add Connection 对话框。
  3. 对话框顶部有一个标注为 "Paste DATABASE_URL" 的输入框,点击进去。
  4. 粘贴你的 DATABASE_URL。粘贴后,1DevTool 会立刻解析 URL,并自动填充下方的 HostPortUserPasswordDatabase 字段,你能看到它们实时被填入。
  5. 点击 "Test Connection",1DevTool 会尝试建立连接。成功后会显示绿色对勾和"Connection successful"。
  6. 点击 "Save",连接信息会保存到这个项目里,下次打开 1DevTool 还在。
  7. 左侧边栏会出现你的数据库表和集合,连接完成,可以开始查询了。

连接成功后显示的数据库表列表

支持多种数据库引擎的连接界面

各引擎的 DATABASE_URL 格式

下面列出所有支持引擎的 URL 格式,方便你手动构造或核对:

# PostgreSQL(Supabase、Neon、Timescale、CockroachDB 同适用) postgresql://username:password@host:5432/database # MySQL(MariaDB 同适用) mysql://username:password@host:3306/database # Microsoft SQL Server mssql://username:password@host:1433/database # MongoDB(标准) mongodb://username:password@host:27017/database # MongoDB Atlas(云端——使用 SRV 格式) mongodb+srv://username:[email protected]/database # Redis(无密码) redis://host:6379 # Redis(有密码) redis://:password@host:6379 # Redis(TLS/SSL) rediss://:password@host:6380 # ClickHouse clickhouse://username:password@host:9000/database # Elasticsearch(无认证) elasticsearch://host:9200 # Elasticsearch(有认证) elasticsearch://username:password@host:9200 # CouchDB couchdb://username:password@host:5984/database

常见连接错误

如果测试连接失败,参考下表排查原因:

错误提示原因解决方法
Connection refused(连接被拒)数据库没有运行,或端口号错误确认数据库服务已启动,核对端口是否与数据库配置一致
Authentication failed(认证失败)用户名或密码不正确仔细核对凭据,确认从控制台复制时没有多出空格
SSL required(需要 SSL)云数据库要求加密连接,但 URL 里没有指定PostgreSQL URL 末尾加 ?sslmode=require,MySQL 加 ?ssl=true
Unknown host / could not resolve host(无法解析主机)主机名拼写错误,或网络不通检查主机名是否有拼写错误;连接私有数据库时确认 VPN 已连接
Timeout(超时)数据库主机不可达(防火墙或 IP 错误)检查你的 IP 是否已加入数据库的白名单——大多数云平台在设置里有"Network"或"Trusted IPs"选项

警告: 永远不要把 DATABASE_URL 提交到 Git。它以明文包含你的数据库密码。请把它存在 .env 文件里,并把 .env 加入 .gitignore。如果不小心提交了,立即在数据库平台的控制台里轮换密码。

提示: 1DevTool 会把你的连接信息加密存储在本地,从不上传到任何服务器。