Ich möchte meinen ausgeführten SQL-Befehlsverlauf in meinem MYSQL-Abfragebrowser anzeigen. Was ist die SQL-Anweisung zum Anzeigen des Verlaufs?
Ich möchte meinen ausgeführten SQL-Befehlsverlauf in meinem MYSQL-Abfragebrowser anzeigen. Was ist die SQL-Anweisung zum Anzeigen des Verlaufs?
Antworten:
Versuchen
cat ~/.mysql_history
Dies zeigt Ihnen alle MySQL-Befehle, die auf dem System ausgeführt wurden
exit
um die Datei zu lesen.
Für MySQL> 5.1.11 oder MariaDB
SET GLOBAL log_output = 'TABLE';
SET GLOBAL general_log = 'ON';
mysql.general_log
Wenn Sie in eine Protokolldatei ausgeben möchten:
SET GLOBAL log_output = "FILE";
SET GLOBAL general_log_file = "/path/to/your/logfile.log"
SET GLOBAL general_log = 'ON';
Wie von jeffmjack in den Kommentaren erwähnt, werden diese Einstellungen vor der nächsten Sitzung vergessen, es sei denn, Sie bearbeiten die Konfigurationsdateien (z. B. bearbeiten /etc/mysql/my.cnf
, dann neu starten, um Änderungen zu übernehmen).
Nun, wenn Sie möchten, können Sie tail -f /var/log/mysql/mysql.log
/path/to/your/logfile.log
gelöscht wird, bis Sie sie SET GLOBAL general_log_file = "/path/to/your/logfile.log";
erneut ausführen (oder die Sitzung möglicherweise neu starten, wenn Sie die Konfiguration bearbeitet haben?).
(Linux) Öffnen Sie Ihr Terminal, ctrl+alt+t
führen Sie den Befehl aus
cat ~/.mysql_history
Sie werden alle vorherigen MySQL-Abfrageverlauf genießen :)
Schauen ~/.myslgui/query-browser/history.xml
Sie sich hier die letzten Abfragen an, die mit mysql_query_browser
(einige Tage alt) gemacht wurden.
Sie können den Verlauf von ~ / .mysql_history sehen. Der Inhalt der Datei wird jedoch von wctomb codiert. So zeigen Sie den Inhalt an:
shell> cat ~ / .mysql_history | python2.7 -c "import sys; print (''. join ([l.decode ('Unicode-Escape') für l in sys.stdin]))"
Quelle: Überprüfen Sie den MySQL-Abfrageverlauf über die Befehlszeile
Sie können sich den Abfrage-Cache ansehen: http://www.databasejournal.com/features/mysql/article.php/3110171/MySQLs-Query-Cache.htm, aber es gibt Ihnen möglicherweise keinen Zugriff auf die tatsächlichen Abfragen und wird sehr Hit-and-Miss, wenn es funktioniert hat (subtiles Wortspiel beabsichtigt)
Aber MySQL Query Browser verwaltet sehr wahrscheinlich eine eigene Liste von Abfragen, die außerhalb der MySQL-Engine ausgeführt werden. Sie müssten dasselbe in Ihrer App tun.
Bearbeiten: Siehe Dan Ms Kommentar, der dazu führt: Wie werden die letzten auf MySQL ausgeführten Abfragen angezeigt? sieht gut aus.