sql >> Database teknologi >  >> RDS >> Mysql

Kan du øge max_allowed_packet fra klienten?

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:

  1. Du skal behandle max_allowed_packet som skrivebeskyttet.
  2. 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.




  1. EAV over SQL Server

  2. Oracle database link - opret forbindelse til proxy med specialtegn i brugernavn

  3. Beregn overarbejde pr. dag

  4. SQL-fejl ved opdatering:UPDATE-sætningen var i konflikt med FOREIGN KEY-begrænsningen