Gần như mọi website động đều cần một cơ sở dữ liệu. Bài này nói cách tạo, phân quyền và các việc quản lý trên DirectAdmin. Phần thao tác với dữ liệu bên trong nằm ở bài về phpMyAdmin trong cùng chuyên mục.
1. Đường vào
Account Manager → Databases.
Trang có:
- Databases List: danh sách cơ sở dữ liệu, kèm dung lượng, số bảng và số người dùng truy cập được.
- Nút PHPMYADMIN: vào thẳng phpMyAdmin, không phải đăng nhập lại.
- Nút MANAGE USERS: quản lý người dùng cơ sở dữ liệu.
- Phần Create Database bên dưới.
2. Tạo cơ sở dữ liệu
Phần Create Database có hai dạng form:
| Dạng | Khi nào dùng |
|---|---|
| Đơn giản | Nhập tên, DirectAdmin tự tạo người dùng cùng tên và sinh mật khẩu an toàn |
| Nâng cao | Đặt tên người dùng khác tên cơ sở dữ liệu, và tự đặt mật khẩu |
Dùng dạng đơn giản, trừ khi có lý do. Mật khẩu do hệ thống sinh dài và ngẫu nhiên, an toàn hơn mật khẩu tự nghĩ.

Tiền tố tên
DirectAdmin tự thêm tiền tố là tên tài khoản hosting vào trước mọi tên cơ sở dữ liệu và tên người dùng.
Nhập wordpress thì tên thật là taikhoan_wordpress. Khi điền vào tệp cấu hình website, phải dùng tên đầy đủ có tiền tố. Đây là nguyên nhân số một của lỗi “không kết nối được cơ sở dữ liệu” khi cài website mới.
Ghi lại ngay ba thông tin
Ngay sau khi tạo, ghi lại:
- Tên cơ sở dữ liệu, đầy đủ cả tiền tố.
- Tên người dùng, đầy đủ cả tiền tố.
- Mật khẩu.
Mật khẩu sinh tự động chỉ hiện một lần. Mất là phải đặt lại, và đặt lại thì phải sửa luôn tệp cấu hình website, nếu không website dừng.
Thông tin thứ tư luôn cần khi điền vào tệp cấu hình: máy chủ cơ sở dữ liệu là localhost.
3. Mỗi website một cơ sở dữ liệu riêng
Đây là nguyên tắc đáng giữ, kể cả khi có vẻ phiền.
Dùng chung một cơ sở dữ liệu và một người dùng cho nhiều website nghĩa là: một website bị chiếm thì kẻ tấn công đọc và sửa được dữ liệu của mọi website còn lại. Mà website thường bị chiếm qua một phần mở rộng lỗi thời, chuyện rất hay xảy ra.
Tách riêng cũng làm việc sao lưu và chuyển website sang nơi khác đơn giản hơn nhiều.
4. MANAGE USERS: thêm người dùng và đổi mật khẩu
Nút này dùng cho ba việc:
| Việc | Khi nào cần |
|---|---|
| Thêm người dùng cho một cơ sở dữ liệu đã có | Khi cần một tài khoản chỉ đọc cho báo cáo, hoặc tài khoản riêng cho một công cụ |
| Đổi mật khẩu người dùng | Khi nghi mật khẩu bị lộ, hoặc khi có người rời nhóm |
| Xoá người dùng | Khi một công cụ không còn dùng nữa |
⚠️ Đổi mật khẩu người dùng là website dừng ngay, cho tới khi tệp cấu hình được cập nhật. Nên chuẩn bị sẵn: mở sẵn tệp cấu hình trong File Manager, đổi mật khẩu, rồi dán mật khẩu mới vào và lưu ngay.
Tệp cấu hình thường gặp:
| Phần mềm | Tệp |
|---|---|
| WordPress | wp-config.php |
| Laravel | .env |
| Joomla | configuration.php |
5. Dung lượng cơ sở dữ liệu
Cột dung lượng trong Databases List cho biết mỗi cơ sở dữ liệu đang chiếm bao nhiêu. Con số này tính vào dung lượng gói hosting.
Cơ sở dữ liệu phình bất thường thường do một trong ba nguyên nhân:
| Nguyên nhân | Dấu hiệu |
|---|---|
| Bảng nhật ký của phần mềm website không bao giờ được dọn | Một bảng lớn hơn hẳn các bảng khác |
| Bảng rác do phần mở rộng đã gỡ để lại | Nhiều bảng với tiền tố lạ |
| Dữ liệu tạm, phiên làm việc, bộ đệm | Bảng có tên chứa cache, session, transient |
Xem bảng nào lớn nhất: mở phpMyAdmin, bấm vào tên cơ sở dữ liệu, cột Size ở danh sách bảng sắp xếp được.
Sao lưu trước khi dọn bất cứ bảng nào.
6. Trang này có ô Skip database size calculation
Tích ô đó thì DirectAdmin không tính dung lượng cơ sở dữ liệu nữa, nên trang mở nhanh hơn.
Chỉ nên tích khi có rất nhiều cơ sở dữ liệu lớn và trang mở chậm. Đánh đổi là mất luôn cách theo dõi dung lượng ở mục 5.
7. Bảng kiểm khi cài một website mới
| Bước | Lưu ý |
|---|---|
| 1. Tạo cơ sở dữ liệu bằng form đơn giản | |
| 2. Ghi lại tên, người dùng, mật khẩu | Mật khẩu chỉ hiện một lần |
| 3. Điền vào tệp cấu hình | Tên và người dùng phải có tiền tố, máy chủ là localhost |
| 4. Chạy trình cài của website | |
| 5. Sao lưu ngay sau khi cài xong | Có một mốc sạch để quay lại |
8. Khi cần hỗ trợ
Lỗi “không kết nối được cơ sở dữ liệu” khi cài website mới: kiểm tên cơ sở dữ liệu và tên người dùng đã có tiền tố tài khoản chưa, và máy chủ có để localhost không. Hai thứ này giải thích phần lớn trường hợp.
Vẫn không được thì nhắn qua khung chat ở góc phải màn hình kèm nguyên văn thông báo lỗi. Đừng gửi mật khẩu cơ sở dữ liệu qua chat, đội ngũ kỹ thuật không cần nó để chẩn đoán.