Database
ZoCloud có ba loại database được quản lý:
| Trên portal | Engine | Biến chính |
|---|---|---|
| PostgreSQL | PostgreSQL | DATABASE_URL |
| MySQL (MariaDB) | MariaDB, tương thích MySQL | DATABASE_URL |
| Redis (Valkey) | Valkey, tương thích Redis | REDIS_URL |
Database chạy trong mạng riêng của ZoCloud, chỉ app trong cùng environment truy cập được, sao lưu mỗi đêm và mã hoá. Dung lượng và RAM của database hiện ở đầu trang database.
MongoDB hiện chưa có.
Tạo database
- Trên canvas project, bấm Thêm → chọn engine dưới mục Database.
- Nhập Tên (chữ thường, số,
-). Tên này dùng trong biến tham chiếu, ví dụ${{pg.DATABASE_URL}}. - Bấm Tạo. Database sẵn sàng trong vài giây.
CLI: zo db create pg -engine postgres (hoặc mysql, valkey).
Kết nối từ service
Tab Kết nối của database hiện biến tham chiếu cần dùng. Thêm vào Biến môi trường của service rồi deploy lại:
DATABASE_URL=${{pg.DATABASE_URL}}
REDIS_URL=${{cache.REDIS_URL}}
Giá trị tự cập nhật nếu database đổi máy chủ hay mật khẩu.
Các biến có sẵn
| Engine | Biến |
|---|---|
| PostgreSQL | DATABASE_URL, PGHOST, PGPORT, PGUSER, PGPASSWORD, PGDATABASE, và DATABASE_PUBLIC_URL khi bật truy cập từ Internet |
| MySQL (MariaDB) | DATABASE_URL, MYSQL_URL, MYSQLHOST, MYSQLPORT, MYSQLUSER, MYSQLPASSWORD, MYSQLDATABASE, DB_HOST, DB_PORT, DB_DATABASE, DB_USERNAME, DB_PASSWORD (kiểu Laravel), và DATABASE_PUBLIC_URL |
| Redis (Valkey) | REDIS_URL, VALKEY_URL, REDISHOST, REDISPORT, REDISUSER, REDISPASSWORD |
Mục Biến kết nối → Xem thông tin kết nối hiện giá trị đầy đủ (kèm mật khẩu), chỉ khi bạn bấm. CLI: zo db vars pg.
Truy cập từ Internet (TLS)
Dùng khi cần kết nối từ máy của bạn (TablePlus, DBeaver, chạy migration). Chỉ cho PostgreSQL và MySQL; Valkey không mở ra ngoài được.
- Tab Kết nối → Truy cập từ Internet → bật, xác nhận Mở.
- Portal hiện
host:cổng(dạngtcp.zocloud.app:30xxx). Chuỗi kết nối đầy đủ nằm trong biếnDATABASE_PUBLIC_URLở mục Biến kết nối. - Kết nối bắt buộc TLS: PostgreSQL dùng
sslmode=require, MySQL dùngssl-mode=REQUIRED(đã có sẵn trong chuỗi).
psql "$(zo db vars pg | grep ^DATABASE_PUBLIC_URL= | cut -d= -f2-)"
Ai có mật khẩu đều kết nối được từ bất kỳ đâu: tắt khi không dùng. CLI/MCP: công cụ database_public.
Backup và khôi phục
Tab Sao lưu:
- Backup tự động mỗi đêm, mã hoá, bản chính lưu tại Việt Nam, giữ theo chính sách lưu trữ của ZoCloud.
- Backup ngay tạo một bản thủ công, ví dụ trước khi chạy lệnh ghi lớn.
Khôi phục luôn vào một database mới, database hiện tại vẫn chạy:
- Nhập tên database mới ở ô phía trên danh sách.
- Chọn bản backup → Khôi phục. Portal hiện "Đang khôi phục vào …".
- Kiểm tra dữ liệu trong database mới.
- Đổi biến của service sang
${{<tên-mới>.DATABASE_URL}}và deploy lại.
Xem dữ liệu (tab Dữ liệu)
Cho PostgreSQL và MySQL. Với Valkey, dùng valkey-cli hoặc redis-cli với thông tin kết nối.
- Bảng: chọn một bảng (lọc bằng Tìm bảng) để xem dữ liệu theo trang.
- SQL: gõ truy vấn, bấm Chạy. Kết quả có giới hạn số dòng; nếu thấy "còn dòng chưa hiện", thêm
LIMIThoặc thu hẹp truy vấn. Mỗi truy vấn có giới hạn thời gian. - Công tắc Chỉ đọc bật sẵn. Tắt đi để chạy lệnh ghi (
INSERT,UPDATE,DELETE,ALTER…). Lệnh ghi thay đổi dữ liệu ngay và không hoàn tác được: hãy backup trước.
Truy vấn chạy bằng tài khoản của chính database; kết quả không được lưu lại, nhưng mỗi lần chạy được ghi vào Hoạt động của tổ chức.
| Vai trò | Xem bảng, chạy SQL chỉ đọc | Chạy lệnh ghi |
|---|---|---|
| Chủ sở hữu, Quản trị | có | có |
| Developer | có | không |
| Thanh toán, Chỉ xem | không | không |
Dung lượng
Mỗi database có một định mức đĩa (hiện ở đầu trang, ví dụ "Dung lượng 120 / 5120 MB"), đo khoảng 10 phút một lần. ZoCloud gợi ý khi database dùng quá khoảng 85% định mức. Số lượng database là một giới hạn của gói.
Xoá database
Tab Cấu hình → Xoá database, gõ tên để xác nhận. Database và toàn bộ dữ liệu bị xoá; bản sao lưu được giữ theo chính sách lưu trữ.