Jeg har læst mange artikler, der forklarer, hvordan man opnår dette, men jeg er nået til den konklusion, at de simpelthen ikke har testet det ordentligt. Mine konklusioner er:
-
Serverens
max_allowed_packet
er en hårdkodet øvre grænse. Du kan ændre det for hele serveren som enhver anden indstilling på serversiden (konfigurationsfil eller serverkommandolinjeparametre), men det er ikke muligt at øge det fra klienten. -
Nogle klienter (såsom det officielle kommandolinjeværktøj) tillader at indstille
max_allowed_packet
på tilslutning. Det er den eneste måde at ændre værdien fra en klient på (ændring af session eller globale variabler har ingen indflydelse på størrelsen af udvekslede pakker), men det er kun nyttigt, hvis du vil sænke det. Afsendelse af pakker, der er større end serverens indstilling, vil stadig udløse pakkerelaterede fejl, da serveren ikke accepterer dem.
For at opsummere:
- Du skal behandle
max_allowed_packet
som skrivebeskyttet. - Hvis den er for lille, skal du ændre den for hele serveren eller leve med den.
Det er ærgerligt, at jeg ikke kan give links til officiel dokumentation, men dette emne er dårligt dokumenteret.