MySQL / MariaDB에서 Slow Query Log를 활성화하기 위한 방법과 실시간으로 변경 가능한 Variable에 대해서 설명드리겠습니다. 

개인적으로는 Slow Query Log를 테이블로 관리하는것을 좋아합니다. 실행된 쿼리 검색 및 통계내가가 편리하기 때문입니다.

아래 3개의 쿼리를 실행하여 설정 가능한 변수를 확인할 수 있습니다. 쿼리 결과

show global variables like '%slow%';

show global variables like '%long%';

show global variables like '%log_output%';

 

>> my.ini 파일 수정 : 노란색 영역의 3개 항목을 추가하신 후 MySQL / MariaDB 서비스를 재시작해주시면 됩니다.

set global 쿼리를 사용해서 설정을 변경할 수 있습니다.

하지만 long_query_time 변수는, 쿼리로는 변경은 가능하지만 실제 반영은 안 되고 있기에 ini 파일에서 설정해 주셔야 합니다.

my.ini 수정

slow_query_log, log_output 은 운용 중인 상태에서 서비스 재시작 없이 설정 변경이 가능하며 즉시 해당 설정이 적용됩니다.

제어판 > 서비스 > 재시작

 

>> 테이블에 기록된 Slow Query 결과입니다.

Slow Query Log in Table

mysql 에서 분석을 위해 Slow Query log 파일을 초기화 해야할 필요가 있을 때 mysql 을 재시작 하지 않고 초기화 할 수 있는 방법이다.


1. 로그를 다른 이름으로 복사

~]# cp slow.log 20160315.slow.log

2. 원본 로그 파일의 내용을 초기화 한다.

~]# cat /dev/null > slow.log


mysql 서버의 재시작 없이 log 파일의 내용을 초기화 할 수 있다.



+ Recent posts