Ich verbinde mysql
mich von meiner Linux-Shell aus. Hin und wieder führe ich eine SELECT
Abfrage aus, die zu groß ist. Es druckt und druckt und ich weiß bereits, dass dies nicht das ist, was ich meinte. Ich möchte die Abfrage stoppen.
Das Schlagen Ctrl+C
(ein paar Mal) tötet mysql
vollständig und bringt mich zurück zur Shell, sodass ich mich wieder verbinden muss.
Ist es möglich, eine Abfrage zu stoppen, ohne sich mysql
selbst zu töten ?
mysql
kill
processlist
David B.
quelle
quelle
Antworten:
quelle
mysql
druckt ... Ich kann die Eingabeaufforderung nicht sehenKILL QUERY
etwas vorzuziehenKILL
ist. Auf diese Weise wird die Abfrage beendet, nicht jedoch die Verbindung.KILL
, aber Sie könnenCALL mysql.rds_kill(12345)
Nur um hinzuzufügen
KILL QUERY **Id**
Dabei ist ID die Verbindungs-IDshow processlist
ist vorzuziehen, wenn Sie die Verbindung normalerweise nicht beenden möchten, wenn Sie von einer Anwendung aus ausgeführt werden.
Für weitere Informationen können Sie das MySQL-Dokument hier lesen
quelle
Stellen Sie eine Verbindung zu MySQL her
vollständige Prozessliste anzeigen:
Beenden Sie die spezifische Abfrage. Hier ist id = 9255451
Wenn Ihnen die Berechtigung verweigert wird, versuchen Sie Folgendes:
quelle
Verwenden Sie
mysqladmin
diese Option , um die außer Kontrolle geratene Abfrage zu beenden:Führen Sie die folgenden Befehle aus:
Notieren Sie sich dann die Prozess-ID.
Die außer Kontrolle geratene Abfrage sollte keine Ressourcen mehr verbrauchen.
quelle
Wenn Sie
mysqladmin
verfügbar haben, erhalten Sie möglicherweise die Liste der Abfragen mit:Dann können Sie den MySQL-Prozess stoppen, der die lang laufende Abfrage hostet:
quelle
Sie müssen den folgenden Befehl ausführen, um den Prozess abzubrechen.
Der Abfrageparameter gibt an, dass der Abfragebefehlsprozess abgebrochen werden muss.
Die Syntax für den Kill-Prozess lautet wie folgt
Bitte beziehen Sie sich auf diesen Link für weitere Informationen.
quelle
Der Autor dieser Frage erwähnt, dass MySQL normalerweise erst nach dem Drucken seiner Ausgabe erkennt, dass die falsche Abfrage ausgeführt wurde. Wie bereits erwähnt,
Ctrl-C
hilft dies in diesem Fall nicht. Ich habe jedoch festgestellt, dass die aktuelle Abfrage abgebrochen wird - wenn Sie sie abfangen, bevor eine Ausgabe gedruckt wird. Beispielsweise:MySQL ist damit beschäftigt, das kartesische Produkt der beiden oben genannten Tabellen zu generieren, und Sie werden schnell feststellen, dass MySQL keine Ausgabe auf den Bildschirm gedruckt hat (der Prozessstatus lautet Daten senden ). Geben Sie also Folgendes ein
Ctrl-C
:Ctrl-C
kann ebenfalls verwendet werden, um eineUPDATE
Abfrage zu stoppen .quelle