sql >> Databasteknik >  >> RDS >> Mysql

Kan du öka max_allowed_packet från klienten?

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:

  1. Du måste behandla max_allowed_packet som skrivskyddad.
  2. 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.




  1. leverantör för PostgreSQL i .net med stöd för TransactionScope

  2. Skriv till JSON-fil med CodeIgniter

  3. NameError:namnet '_mysql' är inte definierat efter inställningen ändras till mysql

  4. Transponera en rad till många rader Oracle