2011-10-19 29 views
5

Tôi có một DB MySQL trực tiếp quá lớn để thường xuyên sao chép dữ liệu trực tiếp đến máy chủ dàn dựng.Các chiến lược sao chép dữ liệu từ cơ sở dữ liệu MySQL trực tiếp đến máy chủ dàn dựng

Có cách nào để nhận các thay đổi từ tuần trước với ý định chạy tập lệnh đó hàng tuần không? Mỗi bảng phải có một dấu thời gian updated được thêm vào nó để đạt được điều này?

Trả lời

6

Tôi không biết mức độ lớn "quá lớn để thường xuyên sao chép", nhưng tôi sử dụng SQLyog để đồng bộ hóa cơ sở dữ liệu. Nó thông minh chèn/cập nhật/xóa chỉ cho các bản ghi đã thay đổi. Tôi khuyên bạn nên đánh giá cao.

4

Một cách để thực hiện điều này là làm cho máy chủ dàn dựng trở thành nô lệ nhân bản của máy chủ sản xuất. Tuy nhiên, nếu bạn không muốn máy dàn dựng được cập nhật liên tục với chủ sản xuất, bạn có thể tắt chế độ nô lệ.

Sau đó, chạy hàng tuần, chạy tập lệnh khởi động nô lệ trong vài giờ, cho phép nó tự cập nhật bản gốc và ngừng lại nô lệ.

START SLAVE; 
-- Wait a while 
-- Trial and error to determine how long it takes to come into sync 
STOP SLAVE; 

Điều này sẽ lưu nó ở trạng thái phù hợp với tổng thể cho tuần hiện tại. Mặt khác, nếu bạn không thực sự cần nó như là một bản chụp hàng tuần, bạn có thể chỉ để lại nô lệ chạy tất cả các thời gian để nó chỉ ở lại đồng bộ.

Các vấn đề liên quan