1. Vì sao Database Server là trọng tâm của backup?
Trong hầu hết hệ thống:
Code có thể triển khai lại
Web server có thể cấu hình lại
Runtime có thể cài lại
Nhưng:
Dữ liệu trong database là thứ không thể tái tạo.
Một bản backup database lỗi đồng nghĩa với:
Mất dữ liệu nghiệp vụ
Mất lịch sử
Rủi ro pháp lý và uy tín nghiêm trọng
📌 Vì vậy, backup database không được làm theo cảm tính, mà phải có chiến lược rõ ràng.
2. Nguyên tắc cốt lõi khi backup Database Server
Khi thiết kế backup cho database, cần đảm bảo:
Tính nhất quán (Consistency)
Không ảnh hưởng vận hành (Low impact)
Có thể phục hồi độc lập
Phù hợp RPO / RTO
Backup database không chỉ là dump dữ liệu, mà là bảo toàn trạng thái logic của hệ thống.
3. Các phương pháp backup database phổ biến
3.1. Logical Backup (khuyến nghị cho đa số hệ thống)
Đặc điểm
Backup ở mức logic (SQL)
Độc lập OS và storage
Dễ chuyển môi trường
Công cụ
MySQL / MariaDB:
mysqldump,mariadb-dumpPostgreSQL:
pg_dump,pg_dumpall
Ưu điểm
Phù hợp off-site
Phù hợp retention dài hạn
Dễ audit, legal
Nhược điểm
Restore chậm hơn snapshot
Tốn CPU khi dump DB lớn
3.2. Physical Backup / Snapshot
Đặc điểm
Snapshot filesystem / volume
Backup raw data file
Công cụ
LVM snapshot
ZFS snapshot
Storage snapshot
pg_basebackup(PostgreSQL)
Ưu điểm
Nhanh
Phục hồi nhanh
Nhược điểm
Phụ thuộc storage
Không phù hợp off-site dài hạn
📌 Snapshot không thay thế logical backup.
4. Backup MySQL / MariaDB
4.1. Những gì cần backup
Dữ liệu database
User, permission
Stored procedure, trigger, event
Cấu hình server (
/etc/mysql/,/etc/my.cnf)
4.2. Logical backup đúng cách
Nguyên tắc:
Dump có transaction
Không khóa table lâu
Bao gồm toàn bộ object
📌 Đảm bảo backup có thể restore độc lập.
4.3. Những lưu ý quan trọng
Không dump khi DB quá tải
Theo dõi dung lượng dump
Kiểm tra dump không rỗng
5. Backup PostgreSQL
5.1. Các hình thức
Logical:
pg_dumppg_dumpall
Physical:
pg_basebackupSnapshot filesystem
5.2. Lưu ý riêng cho PostgreSQL
Phiên bản PostgreSQL rất quan trọng khi restore
Logical backup linh hoạt hơn khi nâng cấp
6. Backup user, role và quyền
Một lỗi phổ biến:
Restore dữ liệu xong
Ứng dụng không truy cập được
Nguyên nhân:
Thiếu user
Sai permission
📌 User và quyền bắt buộc phải backup.
7. Backup database trong hệ thống đang chạy (Production)
Nguyên tắc:
Không dừng dịch vụ
Không khóa kéo dài
Không ảnh hưởng người dùng
Giải pháp:
Dump theo transaction
Snapshot có quiesce
Backup replica (nếu có)
8. Lịch backup database khuyến nghị
| Loại | Tần suất | Mục tiêu |
|---|---|---|
| Logical dump | Daily | RPO |
| Full dump | Weekly | Restore |
| Off-site dump | Weekly / Monthly | An toàn |
| Snapshot | Trước thay đổi lớn | Rollback |
9. Restore Database đúng cách
Trình tự khuyến nghị:
Restore user & role
Restore database structure
Restore data
Test kết nối ứng dụng
Kiểm tra logic nghiệp vụ
📌 Restore DB không chỉ là import SQL.
10. Sai lầm phổ biến khi backup Database Server
Chỉ backup data, không backup user
Chỉ snapshot, không dump logic
Không test restore
Không theo dõi dung lượng và thời gian dump
11. Checklist backup Database Server
Bắt buộc
Logical dump
User & permission
Cấu hình DB
Rất nên
Snapshot hỗ trợ
Off-site copy
Restore test
Backup database không phải để “có file SQL”,
mà để đảm bảo dữ liệu nghiệp vụ có thể quay lại đúng trạng thái cần thiết.
Một chiến lược backup database đúng:
Kết hợp snapshot và logical backup
Gắn chặt với RPO / RTO
Được kiểm tra định kỳ
- Đăng nhập để gửi ý kiến