Co powoduje błąd „utraconego połączenia z serwerem MySQL podczas zapytania”?
Ten rodzaj błędu występuje, gdy połączenie między klientem a serwerem przekroczy określoną wartość limitu czasu.
Na przykład, jeśli masz długie zapytanie, które zajmuje dużo czasu na wykonanie wykonania, MySQL zrzuca połączenie z serwerem.
Weźmy na przykład, eksportując dużą bazę danych, w zależności od metody eksportu i wyeksportowania danych, zakończenie tego procesu może potrwać dużo czasu. Aby zapobiec problemom na serwerze, MySQL może zakończyć to połączenie przed zakończeniem procesu.
Inną powszechną przyczyną tego rodzaju błędu jest złożone operacje łączenia.
MySQL Pokaż wartość limitu czasu
Jak wspomniano, możesz naprawić ten rodzaj błędu, po prostu zwiększając czas trwania limitu czasu po stronie serwera.
Wartości limitu czasu są przechowywane w zmiennych Wait_Timeout i Interactive_timeout. Możemy pobrać bieżące wartości, jak pokazano w następujących zapytaniach:
Mysql> Pokaż globalne zmienne, takie jak „Interactive_timeout”;Powstałe wyjście jest następujące:
+---------------------+-------+Dany wynik pokazuje domyślną wartość zmiennej interaktywnej_timeout. Ta wartość określa czas trwania w sekundach, że serwer czeka na aktywność podczas aktywnej sesji przed jej zakończeniem.
Możemy również pobrać wartość zmiennej Wait_Timeout jako:
Mysql> Pokaż globalne zmienne, takie jak „Wait_timeout”;Wynikowy stół:
+---------------+-------+Ta zmienna ustawia czas, w którym serwer MySQL czeka na aktywność w sesji nieinteraktywnej.
Napraw błąd utraconego MySQL, aktualizując zmienne limitu czasu
Aby naprawić ten typ błędu, możemy zaktualizować wartości dwóch zmiennych omówionych wcześniej. Możemy uruchomić zapytanie, jak pokazano następująco:
mysql> set @@ global.Interactive_timeout = 43200;Poprzednie polecenie powinno zaktualizować wartość zmiennej interaktywnej_timeout do 43200 sekund.
Aby zaktualizować parametr Wait_Timeout, uruchom następujące polecenie:
mysql> set @@ global.Wait_timeout = 43200;Skończyłeś. Możesz spróbować ponownie uruchomić zapytanie w czasie.
Wniosek
W tym poście omówiliśmy przyczynę utraconej błędu połączenia podczas pracy z MySQL i krokami, które możesz podjąć, aby je naprawić. Pamiętaj jednak o swoich zapytaniach lub podziel je na wydajne bloki.
Dziękujemy za przeczytanie i szczęśliwe kodowanie!