Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Czy możesz zwiększyć max_allowed_packet od klienta?

Przeczytałem wiele artykułów, które wyjaśniają, jak to zrobić, ale doszedłem do wniosku, że po prostu nie przetestowali tego prawidłowo. Moje wnioski to:

  • max_allowed_packet serwera to zakodowana górna granica. Możesz zmienić to dla całego serwera, jak każde inne ustawienie po stronie serwera (plik konfiguracyjny lub parametry wiersza poleceń serwera), ale nie można go zwiększyć z poziomu klienta.

  • Niektóre klienty (takie jak oficjalne narzędzie wiersza poleceń) pozwalają ustawić max_allowed_packet na połączenie. Jest to jedyny sposób, aby faktycznie zmienić wartość z klienta (zmiana zmiennych sesji lub zmiennych globalnych nie ma wpływu na wielkość wymienianych pakietów), ale jest przydatna tylko wtedy, gdy chcesz obniżyć to. Wysyłanie pakietów większych niż ustawienia serwera nadal będzie powodować błędy związane z pakietami, ponieważ serwer ich nie zaakceptuje.

Podsumowując:

  1. Musisz leczyć max_allowed_packet jako tylko do odczytu.
  2. Jeśli jest za mały, musisz go zmienić dla całego serwera lub z nim żyć.

Szkoda, że ​​nie mogę podać linków do oficjalnej dokumentacji, ale ten temat jest słabo udokumentowany.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql wybierz znaczniki czasu między a i b zwracając wszystkie lub 0 znaczników czasu

  2. MySQL Uzyskaj rangę z rankingów

  3. Inicjalizacja PHP PDO nie powiodła się z powodu podwójnego portu - Nieprzechwycony wyjątek PDO:SQLSTATE[HY000] [2002]

  4. różnica między where_in i find_in_set

  5. Czy ktoś zna znaczenie tego komunikatu o błędzie php?