W MySQL pakiet lub pakiet komunikacyjny odnosi się do pojedynczej instrukcji SQL wysłanej na serwer MySQL. Odnosi się również do poszczególnego wiersza, który odpowiedział klientowi lub binarnym z serwera MySQL.
Oznacza to, że jeśli klient lub serwer uzyska pakiet większy niż parametr SET MAX_ALLOW_PACKET, zwraca błąd „ERL_NET_PACKET_TOO_LARGE”. Serwer lub klient może następnie zamknąć połączenie.
W tym artykule pokaże, w jaki sposób możesz zmienić maksymalny rozmiar pakietu zarówno w kliencie MySQL, jak i serwerze MySQL.
Co to jest MAX_ALLOW_PACKET?
MAX_ALLOW_PACKET to zmienna sesji określająca liczbę bajtów wysłanych lub odebranych w jednym pakiecie komunikacyjnym.
Sprawdź obecny maksymalny rozmiar pakietu
Możemy sprawdzić maksymalny dopuszczalny rozmiar pakietu, uzyskując wartości zmiennych MySQL.
Przykładowe zapytanie pokazano poniżej:
Pokaż zmienne takie jak „max_allowed_packet”;
Powyższe zapytanie powinno zwrócić maksymalny dopuszczalny rozmiar pakietu w bajtach jako:
| Zmienna nazwa_pokoju | wartość |
| ------------------ | -------- |
| max_allowed_packet | 67108864 |
Nasz przykład pokazuje, że obecny maksymalny dopuszczalny rozmiar pakietu wynosi 67108864 bajtów lub około 67 MB.
Pamiętaj, że chociaż MySQL pozwala nam zmienić maksymalną dozwoloną wartość rozmiaru pakietu, największy możliwy rozmiar pakietu to 1 GB.
Zmień max_allowed_packet w mysql
Metoda 1 - Konfiguracja po stronie klienta i serwera
Musimy zmienić zarówno konfiguracje klienta, jak i serwera, aby zwiększyć lub zmniejszyć wartość rozmiaru pakietu Max_Allowed.
Wynika to z użycia samodzielnych wartości przez Mysql zarówno dla Mysqld, jak i klienta. Stąd wartość, którą otrzymujesz ze zmiennych show, takie jak polecenie „max_allowed_packet” odnosi się do wartości maksymalnej po stronie serwera.
Aby ustawić wartość maksymalną po stronie klienta, możemy uruchomić polecenie:
mysql -u root -p - -max_allowed_packet = 100m
Polecenie powyżej ustawia rozmiar pakietu na 100 MB po stronie klienta.
Zauważ, że domyślny maksymalny pakiet dozwolony po stronie klienta wynosi 16 MB.
Po stronie serwera zmodyfikuj rozmiar pakietu jako:
mysqld -u root -p - -max_allowed_packget = 128m
Zauważ, że domyślny maksymalny pakiet dozwolony po stronie serwera wynosi 64 MB.
Metoda 2 - strona serwera bez ponownego uruchomienia
Jeśli masz super uprawnienia na serwerze, możesz zmienić wartość pakietu maksymalnego za pomocą polecenia Set Global jako:
Ustaw globalny MAX_ALLOWED_PACKET = 128 000 000;
To zwiększa wartość Max_Allowed_Packget do 128 MB bez ponownego uruchomienia serwera. Wymaga jednak super uprawnień.
Metoda 3 - Edycja pliku konfiguracyjnego
Inną metodą, której można użyć do zwiększenia lub zmniejszenia maksymalnego dozwolonego pakietu, jest edycja pliku konfiguracyjnego.
W katalogu instalacyjnym MySQL zlokalizuj my.plik INI (Windows). Domyślnie plik znajduje się w C: \ ProgramData \ Mysql \ MySQL Server 8.0
Edytuj plik i zmień wartość MAX_ALLOWED_PACKET na rozmiar docelowy.
Na przykład możemy ustawić rozmiar pakietu na 128 MB, jak pokazano:
Zapisz i zamknij plik. Uruchom ponownie usługę MySQL, aby ponownie załadować nową konfigurację.
W Linux musisz edytować mysqld.plik CONF. W większości przypadków ten plik znajduje się w/etc/mysql/mysqld.conf.D/Mysqld.CNF
Podobnie edytuj i zmień rozmiar MAX_ALLOWED_PACKET na żądaną wartość. Podobnie uruchom ponownie usługę, aby ponownie załadować zmiany.
Wniosek
W tym artykule dowiedziałeś się, czym jest MySQL max_allowed_variable, jak sprawdzić maksymalny dopuszczalny rozmiar pakietu i różne metody zwiększania lub zmniejszania rozmiaru pakietu.