Cơ sở dữ liệu
Tạo database MariaDB, PostgreSQL, MongoDB và Redis cho từng tài khoản, cho phép truy cập từ xa theo IP, sao lưu và khôi phục theo lịch, mở Adminer và dùng database server ngoài.
Trang Cơ sở dữ liệu liệt kê mọi database của tài khoản, bất kể engine. Mỗi database có một user riêng với toàn quyền trên đúng database đó, còn database Redis có namespace key tách biệt.
Engine database (quản trị viên)
MariaDB là engine mặc định. Quản trị viên cài các engine khác ở thẻ Máy chủ cơ sở dữ liệu trong trang Cơ sở dữ liệu, hoặc từ Thành phần:
| Engine | Cổng (nội bộ) | Ghi chú |
|---|---|---|
| MariaDB | 3306 | Tương thích MySQL. Dùng cho WordPress, Laravel và hầu hết ứng dụng PHP. |
| PostgreSQL | 5432 | |
| MongoDB | 27017 | Cần CPU hỗ trợ AVX; trên Debian chỉ có gói cho amd64. Thẻ sẽ giải thích nếu máy chủ không chạy được. |
| Redis | 6379 | Namespace riêng cho từng tài khoản, có mật khẩu riêng. Cũng được dùng cho object cache WordPress và deploy Laravel. |
Mỗi engine đều tốn RAM, nên chỉ cài những gì khách hàng thật sự dùng.
Tạo database
- Bấm Tạo database.
- Nếu đã cấu hình server ngoài, chọn nơi Tạo trên: Máy chủ này hoặc một server ngoài.
- Chọn engine.
- Nhập Tên database. Tên luôn có tiền tố là tên tài khoản (
alice_+shop=alice_shop): chữ thường, số và dấu gạch dưới, tổng cộng tối đa 32 ký tự. User database trùng tên với database. - Nhập hoặc tạo Mật khẩu (8 đến 128 ký tự). Với Redis, mật khẩu mạnh được tạo tự động.
- Tuỳ chọn Liên kết với website để database hiện trong tab Tổng quan của website đó và có thể xoá cùng website.
- Bấm Tạo và lưu mật khẩu lại: mật khẩu không hiển thị lần nữa.
Hộp thoại Thông tin kết nối database hiển thị máy chủ (127.0.0.1), tên, user và chuỗi kết nối:
mysql://alice_shop:<password>@127.0.0.1:3306/alice_shop
postgresql://alice_app:<password>@127.0.0.1:5432/alice_app
mongodb://alice_data:<password>@127.0.0.1:27017/alice_data
redis://alice_cache:<password>@127.0.0.1:6379 (key prefix "alice_cache:")
Với Redis, key của bạn phải bắt đầu bằng tiền tố namespace (alice_cache:); key khác và lệnh quản trị đều bị chặn.
Số database tối đa do gói hosting quy định. Với license Free, toàn máy chủ có tối đa 10 database.
Dùng Đặt lại mật khẩu để đặt mật khẩu mới (ứng dụng dùng mật khẩu cũ sẽ ngừng hoạt động cho tới khi cập nhật) và Xoá để xoá database cùng toàn bộ dữ liệu.
Truy cập từ xa
Mặc định database chỉ nhận kết nối từ chính máy chủ. Để kết nối từ văn phòng hoặc máy chủ khác (MariaDB và PostgreSQL):
- Trong menu của database, mở Truy cập từ xa.
- Nhập Địa chỉ IP / dải mạng được phép, mỗi dòng một địa chỉ, ví dụ
198.51.100.7hoặc198.51.100.0/24. - Bấm Lưu và dùng Chuỗi kết nối từ xa hiển thị trong hộp thoại.
Tường lửa chỉ mở cho các địa chỉ này. Mỗi database có tối đa 20 mục, dải mạng không được rộng hơn /16 (IPv4) hoặc /48 (IPv6); không thể "cho phép mọi nơi". Để trống danh sách để quay về chỉ kết nối nội bộ.
Export, import và sao lưu
- Export (sao lưu) ghi file dump vào
~/backups/dbcủa tài khoản. - Import / khôi phục nạp file dump trong
~/backups/dbhoặc file bạn tải lên (.sqlhoặc.sql.gz; MongoDB dùng.archive.gz). Bảng hoặc collection trùng tên sẽ bị thay thế. - Dữ liệu Redis không được export hay sao lưu.
Sao lưu theo lịch và khôi phục một chạm
Mở Sao lưu trong menu của database:
- Chọn lịch Sao lưu tự động: Tắt, Mỗi giờ, Mỗi 6 giờ hoặc Mỗi ngày.
- Đặt số bản Giữ lại (1 đến 168).
- Bấm Lưu, hoặc Sao lưu ngay để tạo bản sao tức thì.
Mỗi bản sao lưu hiển thị thời gian, loại (thủ công, tự động hoặc trước khôi phục) và dung lượng. Khôi phục thay database bằng bản đã chọn; dữ liệu hiện tại được sao lưu trước nên có thể hoàn tác. Khi quản trị viên đã cấu hình sao lưu từ xa lên S3, bản sao cũng được gửi lên S3.
Database cũng nằm trong bản sao lưu toàn bộ của tài khoản (Sao lưu).
Adminer
Adminer là giao diện web quản lý database MariaDB và PostgreSQL. Quản trị viên cài từ thẻ Máy chủ cơ sở dữ liệu hoặc Thành phần; Adminer chạy ở cổng 8889.
Sau khi cài, mỗi database MariaDB và PostgreSQL có nút Adminer mở Adminer với sẵn máy chủ, user và tên database: chỉ cần nhập mật khẩu database. Chỉ trình duyệt đang có phiên đăng nhập panel hợp lệ mới vào được Adminer, và PHP của Adminer chạy dưới một user riêng, không truy cập được file hosting.
Database server ngoài (quản trị viên)
Kết nối một server MySQL/MariaDB hoặc PostgreSQL chạy ở nơi khác, ví dụ database cloud, để tạo database trên đó:
- Ở trang Cơ sở dữ liệu, trong thẻ Database server ngoài, bấm Thêm server.
- Nhập tên, engine, host, cổng và Tài khoản quản trị có quyền tạo database và user.
- Chọn kiểu mã hoá: Bắt buộc TLS, TLS + kiểm tra chứng chỉ hoặc Không mã hoá.
- Chọn Cho khách dùng để khách hàng sử dụng được; nếu không, server ở chế độ chỉ admin.
- Với MySQL/MariaDB, Cho phép kết nối từ mọi địa chỉ quyết định host của user database. Khi tắt, user chỉ nhận kết nối từ máy chủ này, nên lộ mật khẩu cũng không dùng được ở nơi khác.
- Bấm Kết nối & thêm. Panel kết nối thử trước khi lưu, và mật khẩu quản trị không bao giờ hiển thị lại.
Khi tạo database trên server ngoài, mật khẩu được tạo tự động và hiển thị một lần. Export/import, truy cập từ xa và sao lưu tự động không áp dụng cho database ở server ngoài: hãy dùng tính năng sao lưu của nhà cung cấp database.