Kết nối bằng DATABASE_URL
Cách nhanh nhất để kết nối cơ sở dữ liệu — chỉ cần dán một URL là xong.
Thay vì điền từng trường riêng lẻ như host, port, username, password và tên database, bạn có thể kết nối với bất kỳ database nào bằng cách dán một chuỗi duy nhất gọi là DATABASE_URL. Đây là cách nhanh nhất để kết nối, và hầu hết các nhà cung cấp database đám mây đều cho bạn một URL như vậy ngay trên dashboard của họ.
DATABASE_URL là gì?
DATABASE_URL là một dòng văn bản chứa đầy đủ thông tin cần thiết để mở một kết nối database. Nó theo cùng cấu trúc với địa chỉ web (URL), khiến nó dễ đọc và dễ chia sẻ giữa các công cụ.
Đây là ví dụ một DATABASE_URL của PostgreSQL:
postgresql://myuser:[email protected]:5432/myapp_production
Hãy cùng phân tích từng phần:
| Phần | Giá trị ví dụ | Ý nghĩa |
|---|---|---|
| Engine | postgresql:// | Loại database. Phần này cho 1DevTool biết cần dùng driver nào. |
| Tên người dùng | myuser | Tên tài khoản database bạn đăng nhập vào. |
| Mật khẩu | mypassword | Mật khẩu của tài khoản đó. |
| Host | db.example.com | Server nơi database đang chạy. Có thể là tên miền hoặc địa chỉ IP. |
| Port | 5432 | Cổng mạng mà database lắng nghe. PostgreSQL mặc định dùng 5432. |
| Tên database | myapp_production | Database cụ thể (hoặc schema) trên server đó mà bạn muốn kết nối. |
Khi bạn dán URL này vào 1DevTool, nó tự động đọc từng phần và điền vào các trường kết nối tương ứng. Bạn không cần gõ gì thủ công.
Tìm DATABASE_URL ở đâu?
Mọi nhà cung cấp database đám mây đều hiển thị chuỗi kết nối ở đâu đó trong dashboard. Đây là nơi tìm cho các dịch vụ phổ biến nhất:
Supabase
Vào dự án của bạn → Project Settings (biểu tượng bánh răng trên thanh bên) → tab Database → kéo xuống Connection String → nhấn tab URI. Sao chép chuỗi hiển thị. Trông sẽ như postgresql://postgres:[YOUR-PASSWORD]@...supabase.co:5432/postgres.
Neon
Vào Dashboard → chọn dự án → nhấn Connection Details ở panel bên phải → sao chép Connection string. Neon dùng URL postgresql:// với serverless endpoint.
Railway
Mở dự án → nhấn vào dịch vụ database → vào tab Variables → tìm DATABASE_URL. Railway cũng tự động inject biến này vào ứng dụng của bạn, nên bạn có thể đã có sẵn trong môi trường.
Heroku
Vào app của bạn → tab Settings → kéo xuống Config Vars → tìm DATABASE_URL. Heroku tự động thiết lập biến này cho bất kỳ add-on Heroku Postgres nào.
PostgreSQL local (chạy trên máy của bạn) Nếu bạn đã cài PostgreSQL local và chưa thay đổi cấu hình mặc định, URL của bạn là:
postgresql://postgres:password@localhost:5432/mydb
Thay password bằng mật khẩu thực của tài khoản postgres và mydb bằng tên database bạn đã tạo.
MySQL local
mysql://root:password@localhost:3306/mydb
Các bước kết nối trong 1DevTool
- Mở dự án trong 1DevTool, rồi nhấn biểu tượng Database trên thanh công cụ bên trái (biểu tượng hình trụ), hoặc nhấn Cmd+D trên Mac / Ctrl+D trên Windows.
- Nhấn nút + trên thanh kết nối bên trái của database panel. Một hộp thoại Add Connection sẽ mở ra.
- Ở đầu hộp thoại, bạn sẽ thấy trường có nhãn "Paste DATABASE_URL". Nhấn vào trường đó.
- Dán DATABASE_URL vào. Ngay khi dán xong, 1DevTool đọc URL và tự động điền vào các trường Host, Port, User, Password, và Database bên dưới. Bạn có thể thấy chúng được điền theo thời gian thực.
- Nhấn "Test Connection". 1DevTool sẽ thử mở kết nối đến database. Nếu thành công, bạn sẽ thấy dấu tích xanh và thông báo "Connection successful".
- Nhấn "Save". Kết nối được lưu cho dự án này. Nó sẽ ở đó vào lần sau bạn mở 1DevTool.
- Các bảng và collection của bạn sẽ xuất hiện trên thanh bên trái. Bạn đã kết nối và sẵn sàng truy vấn.


Định dạng DATABASE_URL cho từng engine
Dưới đây là các định dạng URL cho tất cả các engine được hỗ trợ, để bạn có thể tự tạo hoặc kiểm tra thủ công:
# PostgreSQL (cũng dùng cho Supabase, Neon, Timescale, CockroachDB)
postgresql://username:password@host:5432/database
# MySQL (cũng dùng cho MariaDB)
mysql://username:password@host:3306/database
# Microsoft SQL Server
mssql://username:password@host:1433/database
# MongoDB (tiêu chuẩn)
mongodb://username:password@host:27017/database
# MongoDB Atlas (đám mây — dùng định dạng SRV)
mongodb+srv://username:[email protected]/database
# Redis (không có xác thực)
redis://host:6379
# Redis (có mật khẩu)
redis://:password@host:6379
# Redis với TLS/SSL
rediss://:password@host:6380
# ClickHouse
clickhouse://username:password@host:9000/database
# Elasticsearch (không có xác thực)
elasticsearch://host:9200
# Elasticsearch (có xác thực)
elasticsearch://username:password@host:9200
# CouchDB
couchdb://username:password@host:5984/database
Các lỗi kết nối thường gặp
Nếu test kết nối thất bại, bảng này giúp bạn xác định vấn đề:
| Lỗi | Nguyên nhân | Cách khắc phục |
|---|---|---|
| Connection refused | Database không chạy, hoặc số port sai | Đảm bảo database server đã được khởi động. Kiểm tra port có khớp với cấu hình database không. |
| Authentication failed | Tên người dùng hoặc mật khẩu không đúng | Kiểm tra lại thông tin đăng nhập. Nếu sao chép từ dashboard, đảm bảo không có khoảng trắng thừa. |
| SSL required | Database đám mây yêu cầu kết nối mã hóa nhưng URL chưa yêu cầu | Thêm ?sslmode=require vào cuối URL PostgreSQL, hoặc ?ssl=true cho MySQL. |
| Unknown host / could not resolve host | Hostname bị viết sai hoặc máy bạn không thể kết nối đến nó | Kiểm tra lỗi chính tả trong hostname. Nếu kết nối đến database riêng tư, đảm bảo VPN đang kết nối. |
| Timeout | Host database không thể truy cập (firewall hoặc IP sai) | Kiểm tra xem địa chỉ IP của bạn có trong danh sách cho phép của database không. Hầu hết các nhà cung cấp đám mây có mục "Network" hoặc "Trusted IPs" trong cài đặt. |
Cảnh báo: Đừng bao giờ commit DATABASE_URL vào Git. Nó chứa mật khẩu database ở dạng văn bản thuần. Lưu nó trong file
.envvà thêm.envvào.gitignore. Nếu bạn vô tình commit, hãy đổi mật khẩu ngay lập tức trong dashboard của nhà cung cấp database.
Mẹo: 1DevTool lưu thông tin kết nối của bạn được mã hóa trên máy local. Chúng không bao giờ rời khỏi máy tính của bạn và không bao giờ được gửi đến bất kỳ server nào.