Łączę się mysql
z mojej powłoki Linux. Od czasu do czasu uruchamiam SELECT
zbyt duże zapytanie. Drukuje i drukuje i już wiem, że nie o to mi chodziło. Chciałbym zatrzymać zapytanie.
Trafienie Ctrl+C
(kilka razy) zabija mysql
całkowicie i zabiera mnie z powrotem do powłoki, więc muszę się ponownie połączyć.
Czy można zatrzymać zapytanie bez samobójstwa mysql
?
mysql
kill
processlist
David B.
źródło
źródło
Odpowiedzi:
źródło
mysql
drukuje ... Nie widzę monituKILL QUERY
nieco lepiej jest używaćKILL
. W ten sposób zapytanie zostaje zabite, ale nie połączenie.KILL
, ale możesz uruchomić:CALL mysql.rds_kill(12345)
Tylko dodać
KILL QUERY **Id**
skąd Id to identyfikator połączeniashow processlist
jest bardziej zalecane, jeśli nie chcesz przerywać połączenia zwykle podczas uruchamiania z jakiejś aplikacji.
Aby uzyskać więcej informacji, możesz przeczytać dokument mysql tutaj
źródło
Połącz z mysql
pokaż pełną listę procesów:
Zabij określone zapytanie. Tutaj id = 9255451
Jeśli otrzymasz odmowę dostępu, wypróbuj ten SQL:
źródło
Użyj,
mysqladmin
aby zabić niekontrolowane zapytanie:Uruchom następujące polecenia:
Następnie zanotuj identyfikator procesu.
Uciekające zapytanie nie powinno już zużywać zasobów.
źródło
Jeśli masz
mysqladmin
dostępne, możesz uzyskać listę zapytań z:Następnie możesz zatrzymać proces mysql, który obsługuje długo działające zapytanie:
źródło
Musisz uruchomić następujące polecenie, aby zabić proces.
Parametr zapytania określa, że musimy zabić proces polecenia zapytania.
Składnia procesu zabijania jest następująca
Aby uzyskać więcej informacji, zapoznaj się z tym linkiem.
źródło
Autor tego pytania wspomina, że zwykle dopiero po wydrukowaniu przez MySQL danych wyjściowych zdaje sobie sprawę, że wykonane zostało nieprawidłowe zapytanie. Jak wspomniano, w tym przypadku
Ctrl-C
nie pomaga. Zauważyłem jednak, że przerwie bieżące zapytanie - jeśli złapiesz je przed wydrukowaniem jakiegokolwiek wyniku. Na przykład:MySQL jest zajęty generowaniem produktu kartezjańskiego z powyższych dwóch tabel i wkrótce zauważysz, że MySQL nie wydrukował żadnych danych wyjściowych na ekranie (stan procesu to Wysyłanie danych ), więc wpisujesz
Ctrl-C
:Ctrl-C
podobnie można użyć do zatrzymaniaUPDATE
zapytania.źródło