개요
- 서버에서 실행되는 SQL 쿼리문을 기록하는 general_query_log 설정이 되어있는 경우 해당 로그파일의 적재와 관리에 대한 가이드입니다.
- 일반적인 운영환경에서 디버깅용으로 사용하되, 로그파일의 크기에 의한 디스크 용량 부하를 유의하십시오.
임시로 활성화하는 경우 ( 실시간 )
-
mariadb 접속
1. 로그 활성화 SET GLOBAL general_log = ON; 2. 로그 저장 방식 결정 (FILE 또는 TABLE) SET GLOBAL log_output = 'FILE'; 3. 디버깅 후 비활성화 SET GLOBAL general_log = Off;
로그파일 적재 설정 ( 영구 설정 )
-
/etc/my.cnf.d/server.cnf 파일 설정
[mariadb] # 일반 쿼리 로그 활성화 general_log = 1 # 로그 파일 저장 경로 (원하는 경로로 지정 가능) general_log_file = /var/log/mysql/mariadb-general.log # 로그 저장 방식 log_output = FILE
로테이션 설정 ( 영구 설정 )
-
적재 설정만하면 로그파일이 한 개의 파일에 지속적으로 적재되어 유지관리가 힘들어짐
-
1일 단위 파일분리 및 삭제 주기 등 설정
-
/etc/logrotate.d/mariadb 파일 내 수정
/var/log/mariadb/general_query.log { daily maxsize 3G rotate 3 missingok notifempty compress delaycompress sharedscripts postrotate /usr/bin/mariadb -e "SET GLOBAL general_log = 'OFF'; SET GLOBAL general_log = 'ON';" endscript }