Chuyển tới nội dung chính

Khôi phục về một thời điểm

Point-in-time recovery dựng lại dữ liệu đúng như trạng thái tại một thời điểm bạn chọn, chính xác đến giây. Đây là thứ bạn cần sau một sự cố có mốc thời gian rõ ràng, chẳng hạn một lần migration hỏng hoặc một câu DELETE nhầm, nơi mà quay về bản backup theo lịch sẽ mất toàn bộ dữ liệu phát sinh sau đó.

Cơ chế là replay archived log lên trên một bản full backup, nên cả hai đều phải có sẵn trước thời điểm bạn muốn quay về.

ghi chú

Chỉ hỗ trợ PostgreSQL, MySQL và MariaDB. Với mọi engine khác, Restore từ backup là hướng phục hồi duy nhất.

cảnh báo

Thao tác này tạo một database mới. Nó không ghi đè database hiện tại, nên hãy dự trù quota tăng thêm và cập nhật thông tin kết nối của ứng dụng sau đó.

Điều kiện tiên quyết

  • PITR đã bật trên database. Xem Bật & Tắt PITR.
  • Có ít nhất một bản full backup, chạy sau khi PITR được bật.
  • Archived log phủ được thời điểm bạn muốn quay về.
  • Đủ quota còn lại cho một database thứ hai bên cạnh database gốc.

Thực hiện khôi phục

  1. Nhấn ID database, mở tab Backup, rồi tab con Restore.

  2. Nhấn Recover to point in time.

    Hộp thoại Restore Database to a Point in Time với trường thời điểm khôi phục

  3. Điền các trường:

    • Recovery cluster name: tên của database mới.
    • Flavor: cấu hình tính toán cho database mới.
    • Recover to: ngày giờ chính xác cần quay về.
  4. Nhấn Recover.

Hệ thống tạo một database mới mang dữ liệu đúng như tại thời điểm đó.

cảnh báo

Bạn chỉ quay về được thời điểm sau bản full backup đầu tiên chạy tiếp sau khi kích hoạt PITR. Trước bản backup đó, PITR chưa khả dụng và các thay đổi không phục hồi được. Bật PITR không phải là thời điểm bảo vệ bắt đầu.

Chọn thời điểm khôi phục

Hãy chọn thời điểm cuối cùng bạn chắc chắn dữ liệu còn đúng, không phải thời điểm phát hiện ra vấn đề. Hai mốc này hiếm khi trùng nhau, và chọn mốc thứ hai đồng nghĩa với việc mang luôn cả vấn đề sang.

Nếu chưa chắc, hãy khôi phục thử về một mốc, kết nối vào database mới và kiểm tra. Thao tác này không đụng tới database gốc, nên bạn lặp lại với mốc khác bao nhiêu lần cũng được.

Bước tiếp theo