sql >> Databáze >  >> RDS >> Mysql

Můžete zvýšit max_allowed_packet od klienta?

Četl jsem mnoho článků, které vysvětlují, jak toho dosáhnout, ale dospěl jsem k závěru, že to prostě pořádně netestovali. Mé závěry jsou:

  • max_allowed_packet serveru je pevně zakódovaný horní limit. Můžete jej změnit pro celý server jako jakékoli jiné nastavení na straně serveru (konfigurační soubor nebo parametry příkazového řádku serveru), ale není možné jej zvýšit z klienta.

  • Někteří klienti (například oficiální nástroj příkazového řádku) umožňují nastavit max_allowed_packet na připojení. Je to jediný způsob, jak skutečně změnit hodnotu z klienta (změna relace nebo globálních proměnných nemá žádný vliv na velikost vyměňovaných balíčků), ale je to užitečné pouze v případě, že chcete snížit to. Odeslání balíků větších, než je nastavení serveru, stále způsobí chyby související s balíky, protože je server nepřijme.

Abych to shrnul:

  1. Musíte ošetřit max_allowed_packet jako pouze pro čtení.
  2. Pokud je příliš malý, musíte jej změnit pro celý server nebo s ním žít.

Je škoda, že nemohu poskytnout odkazy na oficiální dokumentaci, ale toto téma je špatně zdokumentováno.




  1. Seskupit podle prvního písmene, abecedně, nejlepší způsob?

  2. Mysql načte všechny řádky s limitem

  3. Úvod do SQL Grouping a Totaling

  4. Přehled komprese dat v SQL Server