Tôi có thể dễ dàng đề xuất thay đổi cài đặt InnoDB có thể là một tay nhỏ chỉ để làm cho một mysqldump hoạt động. Bạn có thể không thích những gì tôi đề xuất, nhưng tôi tin đó là lựa chọn tốt nhất (duy nhất) của bạn. Nó đi từ đây:
SUGGESTION # 1: Vô hiệu hóa các phần chèn mở rộng
Cài đặt mặc định cho mysqldump sẽ bao gồm việc kết hợp hàng trăm hoặc hàng nghìn hàng trong một INSERT duy nhất. Điều này được biết đến như là một INSERT mở rộng. Nó đang gây ra một số lỗi vượt quá chỉ max_allowed_packet .
Tôi đã trả lời một bài đăng trở lại Sep 01, 2011
( máy chủ MySQL đã biến mất việc cản trở việc nhập các bãi rác lớn ) nơi tôi đã thảo luận về việc làm tương tự để nhập một mysqldump lớn. Tôi tin rằng việc vô hiệu hóa INSERT mở rộng cũng sẽ giúp tạo ra một mysqldump rắc rối.
mysqldump -u root --skip-extended-insert -p maia > maia.sql
Tin xấu: Điều này không tạo ra lệnh INSERT cho mỗi hàng. Điều này chắc chắn sẽ tăng thời gian cần thiết để thực hiện mysqldump. Do đó, nó cũng sẽ tăng theo thời gian để tải lại (có thể theo hệ số 10 - 100.
Tôi đã thảo luận skip-extended-insert
trước đây
SUGGESTION # 2: Kết xuất dữ liệu nhị phân dưới dạng hex (TÙY CHỌN)
Để làm cho dữ liệu nhị phân của mysqldump trở nên dễ di chuyển hơn, hãy kết xuất dữ liệu đó theo hệ thập lục phân
mysqldump -u root --skip-extended-insert --hex-blob -p maia > maia.sql
Tin xấu: Nó sẽ làm bùng nổ mysqldump thêm một chút
HÃY THỬ MỘT LẦN !!!
Lưu ý bên: Kích thước tối đa của max_allowed_packet là 1G