Cài Database Trên VPS Ubuntu Với MySQL PostgreSQL MongoDB
Khi website, API, tool automation hoặc ứng dụng bắt đầu lưu trữ lượng dữ liệu lớn, việc cài database trên VPS Ubuntu đúng cách ảnh hưởng trực tiếp đến tốc độ, độ ổn định và mức độ an toàn của toàn hệ thống.
Ba hệ quản trị cơ sở dữ liệu thường gặp nhất hiện nay là MySQL/MariaDB, PostgreSQL và MongoDB. Mỗi nền tảng có mô hình dữ liệu, khả năng mở rộng và nhóm ứng dụng phù hợp khác nhau.
Trong bài viết này, Muachungtool sẽ hướng dẫn từ cài đặt, tạo database và user, bảo mật dịch vụ cho tới cách Remote Database từ máy cục bộ mà không mở database ra Internet một cách tùy tiện.
Database Server là gì?
Database Server là dịch vụ lưu trữ và quản lý dữ liệu cho website hoặc ứng dụng.

Database chỉ nhận kết nối từ application hoặc các IP quản trị được cho phép.
MySQL PostgreSQL và MongoDB khác nhau thế nào?
Trước khi cài đặt, bạn nên xác định loại database phù hợp.
| Tiêu chí | MySQL / MariaDB | PostgreSQL | MongoDB |
|---|---|---|---|
| Mô hình | Relational SQL | Object-Relational SQL | Document NoSQL |
| Dữ liệu | Table / Row | Table / Row | JSON-like Document |
| SQL | Có | Có | Không dùng SQL truyền thống |
| Transaction | Có | Rất mạnh | Có |
| Schema | Có cấu trúc | Có cấu trúc mạnh | Linh hoạt |
| WordPress | Rất phù hợp | Không mặc định | Không |
| Laravel/PHP | Rất phổ biến | Rất tốt | Tùy ứng dụng |
| Node.js | Rất tốt | Rất tốt | Rất phổ biến |
| Analytics | Tốt | Rất tốt | Tùy workload |
| Dữ liệu JSON | Có hỗ trợ | Rất mạnh | Native document |
| Learning Curve | Dễ | Trung bình | Dễ – Trung bình |
Cài đặt và bảo mật MySQL / MariaDB Server
MySQL (và bản fork tương thích MariaDB) là lựa chọn quen thuộc nhất, đặc biệt nếu bạn đang chạy WordPress hoặc các mã nguồn PHP phổ biến. Cài đặt MariaDB trên Ubuntu chỉ với một lệnh:
sudo apt update && sudo apt install mariadb-server -y
Ngay sau khi cài đặt, hãy chạy công cụ bảo mật đi kèm để thiết lập mật khẩu root, xóa user ẩn danh và vô hiệu hóa đăng nhập từ xa mặc định không an toàn:
sudo mysql_secure_installation
Sau khi hoàn tất, bạn có thể đăng nhập vào MySQL bằng lệnh:
sudo mysql -u root -p
Một số thao tác cơ bản thường dùng ngay sau khi cài đặt:
- Tạo database mới: CREATE DATABASE tendb;
- Tạo user riêng và cấp quyền: CREATE USER ‘tenuser’@’localhost’ IDENTIFIED BY ‘matkhau’; GRANT ALL PRIVILEGES ON tendb.* TO ‘tenuser’@’localhost’;
- Áp dụng thay đổi quyền: FLUSH PRIVILEGES;
Cài đặt PostgreSQL cho ứng dụng nâng cao
PostgreSQL phù hợp với các ứng dụng cần xử lý dữ liệu phức tạp, tuân thủ nghiêm ngặt chuẩn SQL hoặc yêu cầu các tính năng nâng cao như JSON native, full-text search hay xử lý giao dịch lớn. Cài đặt PostgreSQL trên Ubuntu:
sudo apt update && sudo apt install postgresql postgresql-contrib -y
PostgreSQL mặc định tạo sẵn một user hệ thống tên “postgres”. Để truy cập vào giao diện dòng lệnh quản trị, bạn chuyển sang user này trước:
sudo -i -u postgres psql
Từ đây, bạn có thể tạo database và user mới tương tự MySQL:
- Tạo database: CREATE DATABASE tendb;
- Tạo user và mật khẩu: CREATE USER tenuser WITH PASSWORD ‘matkhau’;
- Cấp toàn quyền trên database: GRANT ALL PRIVILEGES ON DATABASE tendb TO tenuser;
Cài đặt MongoDB cho ứng dụng NoSQL
Khác với hai loại trên, MongoDB lưu dữ liệu dưới dạng document (gần giống JSON) thay vì bảng có cấu trúc cố định, rất phù hợp với các ứng dụng có dữ liệu thay đổi linh hoạt như hệ thống log, ứng dụng realtime hay IoT. Vì MongoDB không nằm sẵn trong kho phần mềm mặc định của Ubuntu, bạn cần thêm kho lưu trữ chính thức trước khi cài đặt:
curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | sudo gpg –dearmor -o /usr/share/keyrings/mongodb-server-7.0.gpg
echo “deb [signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse” | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
sudo apt update && sudo apt install mongodb-org -y
Sau khi cài đặt, khởi động và kích hoạt MongoDB chạy cùng hệ thống:
sudo systemctl start mongod
sudo systemctl enable mongod
💡 Mẹo: Lệnh cài đặt MongoDB có thể thay đổi theo từng phiên bản. Trước khi cài, nên kiểm tra lại đúng phiên bản kho lưu trữ tương ứng với bản Ubuntu bạn đang dùng (ví dụ “jammy” cho Ubuntu 22.04) trên trang tài liệu chính thức của MongoDB.
Hướng dẫn Remote Database an toàn từ máy cục bộ
Đôi khi bạn cần kết nối trực tiếp từ công cụ quản trị Database trên máy tính cá nhân (như DBeaver, MySQL Workbench, TablePlus) đến VPS thay vì chỉ thao tác qua dòng lệnh. Tuy nhiên, việc mở Database ra internet công khai tiềm ẩn rủi ro bảo mật rất lớn nếu không cấu hình đúng cách.
- Không mở Port Database (3306, 5432, 27017…) rộng rãi cho mọi IP trên UFW – chỉ nên allow đúng địa chỉ IP cố định của bạn
- Với MySQL/PostgreSQL, cân nhắc dùng SSH Tunnel (port forwarding qua SSH) thay vì mở Port Database trực tiếp ra ngoài, vừa tiện vừa an toàn hơn nhiều
- Luôn đặt mật khẩu mạnh cho user Database, tuyệt đối không dùng chung mật khẩu với tài khoản quản trị VPS
ssh -L 3306:localhost:3306 user@vps_ip -p [port]
Lệnh trên tạo một đường hầm (tunnel) an toàn, cho phép công cụ trên máy tính cá nhân kết nối đến “localhost:3306” như thể Database đang chạy ngay trên máy bạn, trong khi dữ liệu thực tế vẫn được truyền qua kết nối SSH đã mã hóa đến VPS.
⚠ Lưu ý: Nếu bắt buộc phải mở Port Database ra ngoài (ví dụ ứng dụng ở một server khác cần kết nối trực tiếp), hãy luôn giới hạn rule UFW chỉ cho phép đúng địa chỉ IP nguồn cần thiết, kết hợp Fail2ban để giám sát các lượt kết nối bất thường.
Câu hỏi thường gặp
Nên chọn MySQL, PostgreSQL hay MongoDB cho dự án mới?
Nếu dùng WordPress hoặc các mã nguồn PHP phổ biến, MySQL/MariaDB là lựa chọn mặc định. Nếu ứng dụng cần xử lý dữ liệu phức tạp, giao dịch lớn, PostgreSQL phù hợp hơn. Nếu dữ liệu có cấu trúc linh hoạt, thay đổi liên tục, MongoDB là lựa chọn tối ưu.
Có thể cài cùng lúc nhiều loại Database trên một VPS không?
Hoàn toàn được, vì mỗi loại Database mặc định chạy trên Port riêng biệt (MySQL 3306, PostgreSQL 5432, MongoDB 27017), miễn là VPS đủ tài nguyên RAM/CPU để vận hành đồng thời.
Remote Database qua SSH Tunnel có chậm hơn kết nối trực tiếp không?
Có chênh lệch nhỏ do dữ liệu đi qua lớp mã hóa SSH, nhưng trong hầu hết trường hợp sử dụng thực tế (quản trị, truy vấn thông thường) độ trễ này không đáng kể so với lợi ích bảo mật mang lại.
Kết luận
Việc cài database trên VPS Ubuntu không chỉ dừng lại ở apt install. Một hệ thống database ổn định nên được triển khai theo quy trình:
- Chọn đúng database engine.
- Cài MySQL/MariaDB, PostgreSQL hoặc MongoDB.
- Tạo database riêng.
- Tạo user riêng cho application.
- Áp dụng nguyên tắc least privilege.
- Không public database khi không cần.
- Dùng SSH Tunnel hoặc IP allowlist khi remote.
- Thiết lập firewall.
- Backup tự động.
- Test khả năng restore.
MySQL/MariaDB phù hợp với phần lớn website và CMS, PostgreSQL mạnh ở các ứng dụng cần SQL nâng cao và transaction phức tạp, còn MongoDB phù hợp với hệ thống document/NoSQL và dữ liệu có cấu trúc linh hoạt.
Nếu bạn đang cần VPS Ubuntu chạy MySQL, PostgreSQL, MongoDB, API, Website hoặc hệ thống Automation/MMO, hãy lựa chọn VPS tại muachungtool với CPU ổn định, RAM phù hợp, SSD/NVMe tốc độ cao và hạ tầng mạng tối ưu để Database hoạt động ổn định 24/7.
Lựa chọn VPS Ubuntu tại Muachungtool để xây dựng hệ thống Database nhanh, ổn định và dễ mở rộng ngay từ đầu.


