라이브러리

[MYSQL_CONFIG] --log-slow-admin-statements - 관리 명령어의 슬로우 쿼리 로그 기록 여부 설정




MySQL의 Slow Query Log

MySQL은 성능 최적화를 위해 Slow Query Log를 제공합니다. Slow Query Log는 MySQL이 처리하는 쿼리 중 실행 시간이一定 이상인 쿼리를 기록하는 로그입니다. 이 로그를 통해 쿼리의 성능을 분석하고 최적화할 수 있습니다.

--log-slow-admin-statements 옵션

`--log-slow-admin-statements` 옵션은 MySQL이 처리하는 쿼리 중 ADMIN STATEMENT(관리자 쿼리)만 Slow Query Log에 기록하는 옵션입니다. ADMIN STATEMENT은 다음과 같은 쿼리를 포함합니다.

* `FLUSH TABLES`
* `FLUSH TABLE`
* `FLUSH HOST`
* `FLUSH LOGS`
* `FLUSH PRIVILEGES`
* `ANALYZE TABLE`
* `CHECK TABLE`
* `OPTIMIZE TABLE`
* `REPAIR TABLE`
* `CREATE TABLE`
* `DROP TABLE`
* `ALTER TABLE`
* `TRUNCATE TABLE`

이 옵션을 사용하면 ADMIN STATEMENT의 성능을 분석하고 최적화할 수 있습니다.

예제

다음 예제는 `--log-slow-admin-statements` 옵션을 사용하여 Slow Query Log를 생성하는 방법을 보여줍니다.

#hostingforum.kr
sql

# my.cnf 파일에 다음 옵션 추가

[mysqld]

slow_query_log = 1

slow_query_log_file = /var/log/mysql/slow.log

log_slow_admin_statements = 1



# MySQL 서버 재시작

sudo service mysql restart



# ADMIN STATEMENT을 실행

mysql> FLUSH TABLES;

Query OK, 0 rows affected (0.01 sec)



# Slow Query Log 확인

tail -f /var/log/mysql/slow.log



Slow Query Log에 ADMIN STATEMENT이 기록된 것을 확인할 수 있습니다.

#hostingforum.kr
sql

# Slow Query Log 내용

# Time: 2023-02-18T14:30:00.000000Z

# User@Host: root[root] @ localhost []

# Query_time: 0.000000  Lock_time: 0.000000 Rows_sent: 0  Rows_examined: 0

# Use_thread_id: 1  Schema: 

# Table: 

# Query_length: 0 bytes

# Query: FLUSH TABLES



이 예제에서는 `FLUSH TABLES` 쿼리가 Slow Query Log에 기록된 것을 확인할 수 있습니다.

결론

`--log-slow-admin-statements` 옵션은 MySQL이 처리하는 쿼리 중 ADMIN STATEMENT만 Slow Query Log에 기록하는 옵션입니다. 이 옵션을 사용하면 ADMIN STATEMENT의 성능을 분석하고 최적화할 수 있습니다. 예제를 통해 ADMIN STATEMENT이 Slow Query Log에 기록되는 방법을 보여주었습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 1 페이지

검색

게시물 검색