내 MYSQL 쿼리 브라우저에 실행 된 SQL 명령 기록을 표시하고 싶습니다. 히스토리를 표시하기위한 SQL 문은 무엇입니까?
내 MYSQL 쿼리 브라우저에 실행 된 SQL 명령 기록을 표시하고 싶습니다. 히스토리를 표시하기위한 SQL 문은 무엇입니까?
답변:
시험
cat ~/.mysql_history
이것은 시스템에서 실행 된 모든 mysql 명령을 보여줍니다.
exit
MySQL을 사용하고 파일을 읽어야 할 가능성이 높습니다 .
MySQL> 5.1.11 또는 MariaDB의 경우
SET GLOBAL log_output = 'TABLE';
SET GLOBAL general_log = 'ON';
mysql.general_log
로그 파일로 출력하려면 다음을 수행하십시오.
SET GLOBAL log_output = "FILE";
SET GLOBAL general_log_file = "/path/to/your/logfile.log"
SET GLOBAL general_log = 'ON';
jeffmjack이 주석에서 언급했듯이, 구성 파일을 편집하지 않는 한 (예 : 편집 /etc/mysql/my.cnf
한 다음 다시 시작하여 변경 사항을 적용) 이러한 설정은 다음 세션 전에 삭제 됩니다.
이제 원하는 경우 tail -f /var/log/mysql/mysql.log
/path/to/your/logfile.log
삭제되면 SET GLOBAL general_log_file = "/path/to/your/logfile.log";
다시 실행할 때까지 로깅이 중지됩니다 (또는 구성을 편집 한 경우 세션을 다시 시작 하시겠습니까?).
(Linux) 터미널을 열고 ctrl+alt+t
명령을 실행하십시오.
cat ~/.mysql_history
이전 mysql 쿼리 기록을 모두 얻을 수 있습니다. :)
~/.myslgui/query-browser/history.xml
여기 에서 mysql_query_browser
(몇 일 전)으로 만든 마지막 쿼리를 찾을 수 있습니다.
~ / .mysql_history에서 이력을 볼 수 있습니다. 그러나 파일의 내용은 wctomb로 인코딩됩니다. 콘텐츠를 보려면 :
쉘> 고양이 ~ / .mysql_history | python2.7 -c "import sys; print ( ''. join ([l.decode ( 'unicode-escape') for l in sys.stdin]))"
쿼리 캐시 ( http://www.databasejournal.com/features/mysql/article.php/3110171/MySQLs-Query-Cache.htm)를 볼 수 있지만 실제 쿼리에 대한 액세스 권한을 제공하지 않을 수 있습니다. 그것이 작동한다면 뺑소니 (미묘한 말장난 의도)
그러나 MySQL Query Browser는 MySQL 엔진 외부에서 실행되는 자체 쿼리 목록을 유지할 가능성이 높습니다. 앱에서 동일한 작업을 수행해야합니다.
편집 : 이것으로 이어지는 dan m의 주석을보십시오 : MySQL에서 실행 된 마지막 쿼리를 표시하는 방법? 소리가납니다.