Jag har läst många artiklar som förklarar hur man gör detta men jag har kommit fram till att de helt enkelt inte har testat det ordentligt. Mina slutsatser är:
-
Serverns
max_allowed_packet
är en hårdkodad övre gräns. Du kan ändra den för hela servern som vilken annan inställning som helst på serversidan (konfigurationsfil eller serverns kommandoradsparametrar) men det är inte möjligt att öka det från klienten. -
Vissa klienter (som det officiella kommandoradsverktyget) tillåter att ställa in
max_allowed_packet
vid anslutning. Det är det enda sättet att faktiskt ändra värdet från en klient (att ändra session eller globala variabler har ingen effekt på storleken på utbytta paket) men det är bara användbart om du vill sänka Det. Att skicka paket som är större än serverns inställning kommer fortfarande att utlösa paketrelaterade fel eftersom servern inte accepterar dem.
Sammanfattningsvis:
- Du måste behandla
max_allowed_packet
som skrivskyddad. - Om den är för liten måste du ändra den för hela servern eller leva med den.
Det är synd att jag inte kan ge länkar till officiell dokumentation men detta ämne är dåligt dokumenterat.