Chciałbym wyświetlić historię moich wykonanych poleceń sql w mojej przeglądarce zapytań MYSQL. Jaka jest instrukcja sql do wyświetlania historii?
Chciałbym wyświetlić historię moich wykonanych poleceń sql w mojej przeglądarce zapytań MYSQL. Jaka jest instrukcja sql do wyświetlania historii?
Odpowiedzi:
próbować
cat ~/.mysql_history
to pokaże ci wszystkie polecenia mysql uruchomione w systemie
exitMySQL, a następnie przeczytać plik.
Dla MySQL> 5.1.11 lub MariaDB
SET GLOBAL log_output = 'TABLE';SET GLOBAL general_log = 'ON';mysql.general_logJeśli chcesz wyprowadzić dane do pliku dziennika:
SET GLOBAL log_output = "FILE";SET GLOBAL general_log_file = "/path/to/your/logfile.log"SET GLOBAL general_log = 'ON';Jak wspomniał jeffmjack w komentarzach, ustawienia te zostaną zapomniane przed następną sesją, chyba że edytujesz pliki konfiguracyjne (np. Edytuj /etc/mysql/my.cnf, a następnie uruchom ponownie, aby zastosować zmiany).
Teraz, jeśli chcesz, możesz tail -f /var/log/mysql/mysql.log
/path/to/your/logfile.logzostanie usunięte, do czasu SET GLOBAL general_log_file = "/path/to/your/logfile.log";ponownego wykonania (lub może ponownego uruchomienia sesji, jeśli zmodyfikowałeś konfigurację?).
(Linux) Otwórz terminal i ctrl+alt+t
uruchom polecenie
cat ~/.mysql_history
otrzymasz całą poprzednią historię zapytań mysql ciesz się :)
Spójrz ~/.myslgui/query-browser/history.xml
tutaj możesz znaleźć ostatnie zapytania wykonane za pomocą mysql_query_browser
(kilka dni)
Możesz zobaczyć historię z ~ / .mysql_history. Jednak zawartość pliku jest kodowana przez wctomb. Aby wyświetlić zawartość:
powłoka> cat ~ / .mysql_history | python2.7 -c "import sys; print (''. join ([l.decode ('unicode-escape') for l in sys.stdin]))"
Możesz zajrzeć do pamięci podręcznej zapytań: http://www.databasejournal.com/features/mysql/article.php/3110171/MySQLs-Query-Cache.htm, ale może ona nie dawać dostępu do rzeczywistych zapytań i będzie bardzo trafienie i chybienie, jeśli zadziałało (zamierzona subtelna gra słów)
Ale przeglądarka zapytań MySQL najprawdopodobniej utrzymuje własną listę zapytań, które uruchamia, poza silnikiem MySQL. Musiałbyś zrobić to samo w swojej aplikacji.
Edycja: zobacz komentarz dan m prowadzący do tego: Jak wyświetlić ostatnie zapytania wykonane na MySQL? wygląda dobrze.