반응형
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;
반응형
'IT > Database' 카테고리의 다른 글
[Mysql] 그룹함수 사용법 (with 로 사용) (38) | 2024.04.17 |
---|---|
[Mysql] [Error] 1075 // auto increment 관련 오류 (19) | 2024.04.13 |
[Mysql] (Error) You can't specify target table 'xxx' for update in FROM clause (14) | 2024.03.31 |
[Tibero] Error (TBR-12033) : Lock acquisition failed in nowait mode (23) | 2024.03.30 |
[Mysql] 이벤트 스케쥴러 (Event Scheduler) (21) | 2024.03.29 |
댓글