SET 문을 사용하여 MySQL 느린 쿼리 로그를 활성화할 수 있습니다.
다음은 구문입니다.
SET GLOBAL slow_query_log = 'Value';
위의 구문에서 값은 ON/OFF로 채울 수 있습니다. 느린 쿼리 로그를 활성화하려면 쿼리를 살펴보겠습니다.
mysql> SET GLOBAL slow_query_log = 'ON'; Query OK, 0 rows affected (0.00 sec)
느린 쿼리가 켜져 있는지 확인하려면 다음 쿼리를 구현하십시오 -
mysql> SHOW GLOBAL VARIABLES LIKE 'slow\_%';
다음은 출력입니다.
+---------------------+--------------------------+ | Variable_name | Value | +---------------------+--------------------------+ | slow_launch_time | 2 | | slow_query_log | ON | | slow_query_log_file | DESKTOP-QN2RB3H-slow.log | +---------------------+--------------------------+ 3 rows in set (0.00 sec)
쿼리가 주어진 초를 초과하면 느린 쿼리 로그 파일에 들어가기 때문에 느린 쿼리 시간을 초 단위로 설정했습니다.
초를 설정할 수도 있습니다. 초를 설정하는 쿼리입니다.
mysql> SET GLOBAL long_query_time = 20; Query OK, 0 rows affected (0.00 sec)
시간이 삽입되었는지 확인하려면.
mysql> SHOW GLOBAL VARIABLES LIKE 'long_query_time';
다음은 위 쿼리의 결과입니다.
+-----------------+-----------+ | Variable_name | Value | +-----------------+-----------+ | long_query_time | 20.000000 | +-----------------+-----------+ 1 row in set (0.00 sec)
위의 작업을 수행한 후 로그를 플러시해야 합니다.
mysql> FLUSH LOGS; Query OK, 0 rows affected (0.25 sec)
참고 − my.cnf 파일을 사용하여 영구적으로 비활성화할 수 있습니다. 설정 slow_query_log =0; 비활성화합니다.