1. Vì sao logical backup vẫn là “xương sống” của backup database?
Dù có:
Snapshot
Replication
Cluster
Thì trong các kịch bản:
Mất dữ liệu logic
Ransomware
Phục hồi sang môi trường khác
Audit, pháp lý
Logical backup vẫn là lựa chọn an toàn và độc lập nhất.
📌 mysqldump và pg_dump không nhanh nhất, nhưng ổn định, đáng tin và có thể restore ở hầu hết mọi nơi.
2. Khi nào BẮT BUỘC phải dùng mysqldump / pg_dump?
Off-site backup
Retention dài hạn (7-4-12-5)
Phục hồi chọn lọc table / schema
Migration
Tuân thủ, kiểm toán
📌 Snapshot không thay thế được các kịch bản này.
3. Tổng quan mysqldump (MySQL / MariaDB)
3.1. Backup được những gì?
Database
Table
View
Trigger
Stored procedure / function
Event
User & privilege (khi dump đúng cách)
📌 Không chỉ là dữ liệu bảng.
3.2. Nguyên tắc dump an toàn trên production
Không khóa lâu
Có transaction
Dump nhất quán
📌 Dump sai có thể làm chậm hoặc treo hệ thống.
3.3. Những thành phần PHẢI backup kèm theo
User database
Quyền truy cập
Charset / collation
Timezone
📌 Restore thiếu user là lỗi rất phổ biến.
4. Tổng quan pg_dump (PostgreSQL)
4.1. Đặc điểm nổi bật
Snapshot logic nhất quán
Ít ảnh hưởng production
Hỗ trợ backup từng database
📌 PostgreSQL thiết kế dump tốt hơn MySQL về mặt nhất quán.
4.2. pg_dump và pg_dumpall
pg_dump: backup 1 databasepg_dumpall: backup toàn cluster (role + DB)
📌 Phải hiểu rõ để tránh dump thiếu role.
5. So sánh mysqldump và pg_dump
| Tiêu chí | mysqldump | pg_dump |
|---|---|---|
| Nhất quán | Cần cấu hình đúng | Tốt mặc định |
| Ảnh hưởng production | Trung | Thấp |
| Backup role | Riêng | pg_dumpall |
| Restore chọn lọc | Có | Rất tốt |
| Migration | Tốt | Rất tốt |
6. Chiến lược backup database chuẩn
6.1. Daily backup
Logical dump
Nén
Mã hóa
Đẩy off-site
6.2. Weekly / Monthly
Full dump
Giữ dài hạn
Test restore
📌 Dump phải gắn với RPO / RTO, không theo cảm tính.
7. Đảm bảo chất lượng file dump
Một dump “có file” chưa chắc đã dùng được.
Cần kiểm tra:
File không rỗng
Có header SQL
Có statement tạo table
Có data
📌 Backup không kiểm tra = backup mù.
8. Restore database đúng cách
8.1. Trình tự chuẩn
Tạo user / role
Tạo database
Restore schema
Restore data
Kiểm tra ứng dụng
📌 Restore sai thứ tự → lỗi permission.
9. Kết hợp mysqldump / pg_dump với công cụ khác
Mô hình đúng:
Dump DB → file
File → Borg / Restic
Lưu off-site
Áp dụng retention
📌 Dump chỉ là bước đầu, không phải toàn bộ backup.
10. Sai lầm phổ biến
Dump DB live mà không transaction
Chỉ dump data, quên user
Không test restore
Không theo dõi thời gian dump
11. Checklist backup database bằng dump
BẮT BUỘC
Dump logic
User / role
Charset / encoding
RẤT NÊN
Compression
Encryption
Off-site
Restore test
12. Liên hệ với hệ thống thực tế
Trong hệ thống:
HIS / EMR
Website bệnh viện
Cổng dịch vụ người bệnh
Logical backup giúp:
Phục hồi dữ liệu nghiệp vụ
Đáp ứng pháp lý
An tâm khi có sự cố lớn
Snapshot giúp quay lại nhanh,
nhưng dump giúp sống sót lâu dài.
mysqldump và pg_dump không hào nhoáng,
nhưng là trụ cột không thể thay thế của backup database đúng nghĩa.
- Đăng nhập để gửi ý kiến