Tôi đã đọc nhiều bài báo giải thích cách thực hiện điều này nhưng tôi đã đi đến kết luận rằng họ chỉ đơn giản là chưa kiểm tra nó đúng cách. Kết luận của tôi là:
-
max_allowed_packet
của máy chủ là giới hạn trên được mã hóa cứng. Bạn có thể thay đổi nó cho toàn bộ máy chủ như bất kỳ cài đặt phía máy chủ nào khác (tệp cấu hình hoặc thông số dòng lệnh của máy chủ) nhưng không thể tăng nó từ máy khách. -
Một số ứng dụng khách (chẳng hạn như tiện ích dòng lệnh chính thức) cho phép đặt
max_allowed_packet
về kết nối. Đó là cách duy nhất để thực sự thay đổi giá trị từ máy khách (thay đổi phiên hoặc biến toàn cục không ảnh hưởng đến kích thước của các gói được trao đổi) nhưng nó chỉ hữu ích nếu bạn muốn thấp hơn nó. Việc gửi các gói lớn hơn cài đặt của máy chủ sẽ vẫn gây ra các lỗi liên quan đến gói vì máy chủ sẽ không chấp nhận chúng.
Tóm lại:
- Bạn phải xử lý
max_allowed_packet
dưới dạng chỉ đọc. - Nếu nó quá nhỏ, bạn cần phải thay đổi nó cho toàn bộ máy chủ hoặc sống chung với nó.
Rất tiếc là tôi không thể cung cấp liên kết đến tài liệu chính thức nhưng chủ đề này được ghi chép kém.