Ik heb veel artikelen gelezen die uitleggen hoe je dit kunt bereiken, maar ik ben tot de conclusie gekomen dat ze het gewoon niet goed hebben getest. Mijn conclusies zijn:
-
max_allowed_packet
. van de server is een hardgecodeerde bovengrens. U kunt het voor de hele server wijzigen zoals elke andere instelling aan de serverzijde (configuratiebestand of serveropdrachtregelparameters), maar het is niet mogelijk om het vanaf de client te verhogen. -
Sommige clients (zoals het officiële hulpprogramma voor de opdrachtregel) staan toe om
max_allowed_packet
in te stellen op verbinding. Het is de enige manier om de waarde van een client daadwerkelijk te wijzigen (het wijzigen van sessie- of globale variabelen heeft geen effect op de grootte van uitgewisselde pakketten) maar het is alleen nuttig als u wilt verlagen het. Het verzenden van pakketten die groter zijn dan de instelling van de server zal nog steeds pakketgerelateerde fouten veroorzaken, aangezien de server ze niet accepteert.
Samenvattend:
- Je moet
max_allowed_packet
. behandelen als alleen-lezen. - Als het te klein is, moet je het voor de hele server wijzigen of ermee leven.
Het is jammer dat ik geen links naar officiële documentatie kan geven, maar dit onderwerp is slecht gedocumenteerd.