mysql - sistrix - meta description länge



Wie kann ich eine lange Abfrage im mysql Kommandozeilen-Tool unterbrechen, ohne mysql zu beenden? (4)

Wenn ich beim Debuggen von SQL-Anweisungen versehentlich eine Abfrage unter Verwendung der mysql-Befehlszeile ausfühle, die viele Ergebnisse ausgibt (selbst wenn die Abfrage selbst in angemessener Zeit ausgeführt wird), ist die einzige Möglichkeit, den Endlosstrom der Ausgabe zu stoppen, CTRL -C.

Leider bringt mich das zurück in die Shell und zwingt mich dazu, mich anzumelden und die Datenbank erneut auszuwählen.

Um dies zu vermeiden, habe ich begonnen, mysql mit der Option --sigint-ignore auszuführen, so dass STRG-C ignoriert wird.

Jetzt möchte ich die Ausgabe dieser langen Abfragen unterbrechen.

Gibt es eine Tastenkombination, die das tut?

https://ffff65535.com


Keine Tastenkombination.

Die einzige Möglichkeit besteht darin, eine andere Sitzung zu öffnen, SHOW PROCESSLIST zu verwenden und dann KILL QUERY die zu beendende Sitzung zu beenden.

Sie können auch das mysqladmin verwenden, um diese Befehle mysqladmin .

In jedem Fall müssen Sie sich anmelden. Es ist also nicht von Vorteil, nur Strg-C zu drücken.


Sie können --pager , um Ihre Ausgabe an einen Pager wie --pager less der Ihnen die Kontrolle über die Ausgabe gibt. Nicht nur töten, sondern auch paging, suchen und sogar speichern die Ausgabe besser als Ihr Terminal-Fenster gibt Ihnen.

Es gibt auch die --safe-updates oder -U switch aka --i-am-a-dummy , die Sie vor klauselfreien update s und delete s schützt und auch automatisch limitiert auf 1000 (modifizierbar mit select_limit).

All dies kann standardmäßig in ~/.my.cnf .

[mysql]
pager
safe-updates

Verwenden Sie mysql --sigint-ignore

und um eine Zeile zu löschen, benutze Strg + U


Etwas spät, aber vielleicht hilft meine Antwort jemandem.

Eine Möglichkeit, eine konkrete MySQL-Abfrage über die Befehlszeile zu beenden, ist:

  1. Identifizieren Sie die Prozess-ID dieser Abfrage mit dem folgenden Befehl: mysqladmin processlist
  2. Angenommen, die ID lautet 5736748, um die Abfrage zu beenden, müssen Sie Folgendes eingeben: mysqladmin kill 5736748




command-line