Sao lưu MySQL tăng / vi sai bằng mysqldump


9

Có kỹ thuật nào để sử dụng mysqldump (hoặc lệnh tương tự) để tạo bản sao lưu gia tăng hoặc khác biệt cho MySQL không?

Câu trả lời:




0

Tôi sử dụng binlog nhưng chúng không phải là một giải pháp tối ưu và tôi cũng có xu hướng thấy mình dựa vào ảnh chụp nhanh.

Có hai lý do chính cho việc này:

  • Binlogs lưu trữ tất cả các thay đổi. Một binlog có giá trị một tuần sẽ có khả năng lớn hơn đáng kể so với sự khác biệt giữa hai ảnh chụp nhanh cách nhau một tuần. Cứu trợ duy nhất là binlogs có xu hướng nén tốt (thường dưới 10%).
  • Nếu bạn cần phải thực hiện kiểm toán hoặc quay lại thì phát lại binlog theo một ảnh chụp nhanh cổ xưa sẽ mất một thời gian rất dài và binlog càng lớn thì khả năng xảy ra lỗi càng lớn nên bạn cần chụp nhanh thường xuyên.

Tôi đã có một số lượng lớn các ảnh chụp nhanh gần đây không có nén hoặc vi sai. Tôi đã thử nghiệm với diff và thấy rằng ngay cả với các tùy chọn như không có ngữ cảnh thì các diff khác nhau sẽ lớn hơn.

Không cần thử tất cả các lựa chọn thay thế, điều tốt nhất mà tôi tìm thấy là thứ ba. Điều này đã giảm chúng xuống khoảng 5% kích thước cho tôi và khi đó được nén với xz vào vùng 1%.

Mặc dù các tệp chữ ký thứ ba không nén tốt vì chúng là các bộ sưu tập băm (giống như dữ liệu ngẫu nhiên), việc nén chúng với nhau sẽ mang lại kết quả tốt.

Nhiều người sẽ không cần một giải pháp như vậy trong hầu hết các trường hợp nếu có lỗi, họ sẽ cần lưu trữ cơ sở dữ liệu với hình ảnh gần đây nhất và cập nhật nhanh nhất có thể.

Tuy nhiên, nếu bạn có một hệ thống phức tạp cần nhiều kế toán, kiểm toán, gỡ lỗi, v.v (những thứ quan trọng hơn blog) thì việc lưu trữ ảnh chụp nhanh hiệu quả trở nên quan trọng.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.