Website được thiết kế tối ưu cho thành viên chính thức. Hãy Đăng nhập hoặc Đăng ký để truy cập đầy đủ nội dung và chức năng. Nội dung bạn cần không thấy trên website, có thể do bạn chưa đăng nhập. Nếu là thành viên của website, bạn cũng có thể yêu cầu trong nhóm Zalo "CNTT" các nội dung bạn quan tâm.

Bài 21. Backup Database Server (MySQL / MariaDB / PostgreSQL)

ICT

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:

  1. Tính nhất quán (Consistency)

  2. Không ảnh hưởng vận hành (Low impact)

  3. Có thể phục hồi độc lập

  4. 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-dump

  • PostgreSQL: 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_dump

    • pg_dumpall

  • Physical:

    • pg_basebackup

    • Snapshot 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ạiTần suấtMục tiêu
Logical dumpDailyRPO
Full dumpWeeklyRestore
Off-site dumpWeekly / MonthlyAn toàn
SnapshotTrước thay đổi lớnRollback

9. Restore Database đúng cách

Trình tự khuyến nghị:

  1. Restore user & role

  2. Restore database structure

  3. Restore data

  4. Test kết nối ứng dụng

  5. 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ỳ