Database/SQL

MySQL - 슬로우 쿼리 로그 설정 (자동으로 느린 쿼리 로그 남기기)

JaeHoney 2022. 2. 6. 00:49

Slow Query Log

슬로우 쿼리 로그는 MySQL이 지원하는 느린 쿼리가 발생할 때마다 로그를 남겨주는 기능입니다. 슬로우 쿼리 로그는 on/off할 수 있고, 기준 시간 등을 설정할 수 있습니다.

 

설정

먼저 운영 중인 MySQL에 접속한 후, 아래의 SQL문을 수행합니다.

show variables like 'slow_query_%';

 

그러면 슬로우 쿼리 로그의 사용 여부와 로그의 경로가 나올겁니다. 저는 사용중이네요.

 

슬로우 쿼리 로그를 on 하거나 설정을 변경하려면 윈도우 환경이면 my.ini 리눅스면 my.cnf를 수정합니다.

 

윈도우이신 분은 C:\MySQL\MySQL Server 8.0 경로에 있습니다.

 

위 부분을 수정하시면 되고, slow-query-log는 1이 on, 0이 off입니다.

slow_query_log_file은

long_query_time이 10이면 10초 이상이 걸리면 로그를 남기겠다는 뜻입니다.

 

설정하고 나와서 MySQL을 재시작합니다.

윈도우는 서비스에서 재시작하면되고, 리눅스는 service mysqld restart 명령어를 입력하시면 됩니다.

 

확인

select sleep(20);

일부러 20초를 지연시키키는 쿼리를 보냈습니다.

 

설정한 경로의 로그를 확인해보겠습니다.

 

지연이 발생한 쿼리문에 대한 정보를 얻을 수 있었습니다.

 

감사합니다.