[mysql] 쿼리 기록을 표시하는 SQL 명령

내 MYSQL 쿼리 브라우저에 실행 된 SQL 명령 기록을 표시하고 싶습니다. 히스토리를 표시하기위한 SQL 문은 무엇입니까?



답변

시험

 cat ~/.mysql_history

이것은 시스템에서 실행 된 모든 mysql 명령을 보여줍니다.


답변

MySQL> 5.1.11 또는 MariaDB의 경우

  1. SET GLOBAL log_output = 'TABLE';
  2. SET GLOBAL general_log = 'ON';
  3. 테이블을보세요 mysql.general_log

로그 파일로 출력하려면 다음을 수행하십시오.

  1. SET GLOBAL log_output = "FILE";
  2. SET GLOBAL general_log_file = "/path/to/your/logfile.log"
  3. SET GLOBAL general_log = 'ON';

jeffmjack이 주석에서 언급했듯이, 구성 파일을 편집하지 않는 한 (예 : 편집 /etc/mysql/my.cnf한 다음 다시 시작하여 변경 사항을 적용) 이러한 설정은 다음 세션 전에 삭제 됩니다.

이제 원하는 경우 tail -f /var/log/mysql/mysql.log

여기에 더 많은 정보 : 서버 시스템 변수


답변

(Linux) 터미널을 열고 ctrl+alt+t
명령을 실행하십시오.

 cat ~/.mysql_history

이전 mysql 쿼리 기록을 모두 얻을 수 있습니다. 🙂


답변

거기에서 찾을 수 있습니다.

~/.mysql_history

다음과 같이 이스케이프없이 읽을 수있게됩니다.

sed "s/\\\040/ /g" < .mysql_history


답변

~/.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]))”

출처 : 명령 줄에서 MySQL 쿼리 기록 확인


답변

쿼리 캐시 ( http://www.databasejournal.com/features/mysql/article.php/3110171/MySQLs-Query-Cache.htm)를 볼 수 있지만 실제 쿼리에 대한 액세스 권한을 제공하지 않을 수 있습니다. 그것이 작동한다면 뺑소니 (미묘한 말장난 의도)

그러나 MySQL Query Browser는 MySQL 엔진 외부에서 실행되는 자체 쿼리 목록을 유지할 가능성이 높습니다. 앱에서 동일한 작업을 수행해야합니다.

편집 : 이것으로 이어지는 dan m의 주석을보십시오 : MySQL에서 실행 된 마지막 쿼리를 표시하는 방법? 소리가납니다.