MySQL에서 느린 쿼리 로그 활성화
오늘은 Windows 및 Ubuntu 20.04에서 MySQL 셸을 사용하여 MySQL에서 slow_query_log
를 활성화할 것입니다. 이 자습서에서는 MySQL 버전 8.0 및 Ubuntu 20.04를 사용합니다.
MySQL slow_query_log
MySQL slow_query_log
에는 실행하는 데 long_query_time
초 이상을 소비하고 검사할 행(레코드)이 min_examined_row_limit
개 이상 필요한 SQL 문이 포함되어 있습니다.
MySQL slow_query_log
에서 볼 수 있는 SQL 쿼리는 실행하는 데 상당한 시간이 소요되는 쿼리입니다. 따라서 최적화가 필요한 후보입니다.
기본적으로 느린 쿼리 로그는 비활성화되어 있습니다. Windows 및 Ubuntu 20.04에서 활성화하는 방법을 살펴보겠습니다.
Windows/Ubuntu에서 MySQL slow_query_log
활성화
아래 주어진 쿼리는 Windows 및 Ubuntu 운영 체제에서 실행할 수 있습니다. 먼저 MySQL 셸을 입력한 후 다음 명령을 실행하여 MySQL slow_query_log
를 활성화해야 합니다.
예제 코드:
mysql> SET GLOBAL slow_query_log = 'ON';
이제 다음 쿼리를 실행하여 slow_query_log
가 활성화되었는지 확인합니다.
예제 코드:
mysql> SHOW VARIABLES LIKE '%slow%';
출력:
+-----------------------------+--------------------------+
| Variable_name | Value |
+-----------------------------+--------------------------+
| log_slow_admin_statements | OFF |
| log_slow_extra | OFF |
| log_slow_replica_statements | OFF |
| log_slow_slave_statements | OFF |
| slow_launch_time | 2 |
| slow_query_log | ON |<====================
| slow_query_log_file | DESKTOP-QF52OT4-slow.log |
+-----------------------------+--------------------------+
7 rows in set (0.01 sec)
또는 다음과 같이 명령을 실행하여 slow_query_log
가 활성화되었는지 여부를 확인할 수도 있습니다.
예제 코드:
mysql> SHOW VARIABLES LIKE '%quer%';
출력:
+----------------------------------------+--------------------------+
| Variable_name | Value |
+----------------------------------------+--------------------------+
| binlog_rows_query_log_events | OFF |
| ft_query_expansion_limit | 20 |
| have_query_cache | NO |
| log_queries_not_using_indexes | OFF |
| log_throttle_queries_not_using_indexes | 0 |
| long_query_time | 10.000000 |
| query_alloc_block_size | 8192 |
| query_prealloc_size | 8192 |
| slow_query_log | ON |<=========
| slow_query_log_file | DESKTOP-QF52OT4-slow.log |
+----------------------------------------+--------------------------+
10 rows in set (0.00 sec)
두 출력에서 두 번째 마지막 행을 참조하십시오(위에서 제공). slow_query_log
는 현재 ON
입니다.
slow_query_log
를 활성화하면 다른 옵션도 활성화할 수 있습니다. 예를 들어, 쿼리가 기록되기 전에 실행하는 데 필요한 시간을 업데이트할 수도 있습니다.
예제 코드:
mysql> SET GLOBAL long_query_time = 20;