Tôi có cơ sở dữ liệu rất lớn với hàng chục nghìn bảng, một số trong đó có tới 5GB dữ liệu trong 10 triệu mục nhập. (Tôi điều hành một dịch vụ phổ biến) ... Tôi luôn đau đầu khi sao lưu các cơ sở dữ liệu này. Sử dụng mysqldump mặc định, nó nhanh chóng làm cho máy chủ tải ngoài tầm kiểm soát và khóa mọi thứ ... ảnh hưởng đến người dùng của tôi. Việc cố gắng dừng quá trình có thể dẫn đến các bảng bị lỗi và rất nhiều thời gian chết trong quá trình khôi phục các bảng đó.
Bây giờ tôi sử dụng ...
mysqldump -u USER -p --single-transaction --quick --lock-tables=false DATABASE | gzip > OUTPUT.gz
tham chiếu mysqldump tại dev.mysql.com thậm chí còn nói ...
Không nói gì về việc phụ thuộc vào cơ sở dữ liệu là InnoDB, của tôi là myISAM và điều này đã hoạt động tốt đối với tôi. Tải máy chủ gần như hoàn toàn không bị ảnh hưởng và dịch vụ của tôi chạy như một chiếc Rolex trong toàn bộ quá trình. Nếu bạn có cơ sở dữ liệu lớn và việc sao lưu chúng đang ảnh hưởng đến người dùng cuối của bạn ... thì đây là giải pháp.;)