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


各引擎的 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 会把你的连接信息加密存储在本地,从不上传到任何服务器。