Č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:
- Musíte ošetřit
max_allowed_packet
jako pouze pro čtení. - 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.