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
다음과 같이 수정한다.