본문 바로가기
Database/Mysql

mysql 실행된 쿼리 로그로 남기기

by 강깅꽁 2016. 11. 15.

version은 5.7입니다.


mysql에서 log를 남기는 방법은 table에 남기는 것과 따로 file로 저장하는 방법 등이 있습니다.

이 포스팅에서는 file로 남기는 방법만 남기도록 하겠습니다.


mysql> show variables where Variable_name in ('log', 'general_log', 'general_log_file', 'log_output');

+------------------+---------------------------------+

| Variable_name    | Value                           |

+------------------+---------------------------------+

| general_log      | OFF                            |

| general_log_file | /var/lib/mysql/choi-desktop.log 

| log_output       | FILE                            |

+------------------+---------------------------------+


다음과 같이 나오는데 log_file은 파일에 저장되는지 경로와 함께 나와있습니다. output 형태는 file로 되어있습니다.


mysql> set global general_log ='on'; //general_log를 on해줍니다.

mysql> set global log_output='file'; // output을 file로 해줍니다.


log_file의 경로를 수정 가능하지만 해본 결과 Permission denied에러가 발생하였고 해결하지 못한 관계로 경로는 그대로 냅둬줍니다.



주의사항 sudo service mysql restart

mysql을 restart 해주시면 변경 사항이 초기화 됩니다.



Window


my.ini 파일에


[mysqld]

log-output=FILE

general-log=0

general_log_file="C:/slowquery.log"

slow-query-log=1

slow_query_log_file="C:/query.log"

long_query_time=10

다음과 같이 수정한다.