본문 바로가기
IT/Database

[Mysql] Log 설정 (general, slow_query, binary ..)

by 성준하이 2024. 4. 1.
반응형

Mysql 에서는 서버를 운영하기 위한 로그 정책이 몇가지 있다.

 

  • Error log -MySQL을 시작, 실행, 종료 시 발생한 문제를 기록
  • General Log - 클라이언트 연결 설정 및 실행된 쿼리를 기록
  • Binary Log - 테이블 생성 및 데이터 변경과 같은 변경 사항을 기록(SELECT 쿼리는 남기지 않음)
  • Relay Log - 복제 구성 시 마스터의 변경 사항을 기록
  • Slow Log - long_query_time 파라미터로 설정된 시간보다 수행시간이 긴 쿼리를 기록
  • DDL Log - DDL문의 실행을 기록

가장 많이 사용 되는 General, Slow_Query 에 대해서 다뤄볼 것이다.

 

general_log
SHOW VARIABLES LIKE '%general%'
+------------------+------------------------------------------+
| Variable_name    | Value                                    |
+------------------+------------------------------------------+
| general_log      | ON                                       |
| general_log_file | /data/log/general/mysql-general.log |
+------------------+------------------------------------------+

설정한 값을 보려면 위와 같이 설정하면 된다.

general_log 의 값이 OFF 라면 

SET global general_log = ON;

SET global general_log = 1;

로 설정이 가능하다.

slow_log
SHOW VARIABLES LIKE '%slow_query%'
+------------------+------------------------------------------+
| Variable_name    | Value                                    |
+------------------+------------------------------------------+
| slow_query_log      | ON                                       |
| slow_query_log_file | /data/log/slowquery/mysql-slowquery.log |
+------------------+------------------------------------------+

설정한 값을 보려면 위와 같이 설정하면 된다.

slow_query 의 값이 OFF 라면 

SET global slow_query_log = ON;

SET global slow_query_log = 1;

로 설정이 가능하고, 느린 쿼리의 시간 기준을 

SET global long_query_time = 2; (2초 기준)

으로 잡을수 있다.

 

그리고 로그를 통해서 general_log 와 slow_query_log를 보려면 아래와 같은 쿼리를 날려보면 가능하다.

  • SELECT * FROM mysql.general_log;
  • SELECT * FROM mysql.slow_log;
반응형

댓글