서버를 운영하면서 로그 파일의 의미는 아주 중요합니다. 문제가 발생했을 때, 그 원인 파악을 조금 더 쉽게 하도록 하여 해결 시간을 단축할 수 있도록 도와줍니다. 아래 내용은 MySQL 운영시 로그 정보를 저장하는 방법입니다.
1. 기본 로그 설정 - 리눅스
[mysqld]
# 에러 로그 설정
log-error=/로그저장경로/error.log
# 쿼리 로그 설정
log=/로그저장경로/query.log
# 바이너리 로그 설정
log-bin=mysql-bin
# 슬로우 쿼리(slow query) 로그 설정
log-slow-queries=/로그저장경로/mysql-slow.log
long_query_time=5
# UPDATE 쿼리 설정
log-update=update_logs
2. 쿼리 로그
리눅스 환경에서는 my.cnf 파일을 수정합니다.
[mysqld]
# MyISAM 로그
log-isam=/로그저장경로/myisamlog.log
# 쿼리 로그
log=/로그저장경로/mysql.log
# 수정 로그
log-update=/로그저장경로/mysql-update.log
# 바이너리 로그
log-bin=/로그저장경로/mysql-bins.log
# 슬로우 쿼리 로그
log-slow-queries=/로그저장경로/mysql-slow.log
long_query_time=5
쿼리 로그를 남기는 두번째 방법입니다.
mysql> show variables like 'general_log%';
+------------------+---------------------------------+
| Variable_name | Value |
+------------------+---------------------------------+
| general_log | OFF |
| general_log_file | /var/lib/mysql/ubuntuserver.log |
+------------------+---------------------------------+
# 로깅 (이후로 general_log_file에 실시간으로 기록됨)
mysql> set GLOBAL general_log='ON';
# 로깅 해제
mysql> set GLOBAL general_log='OFF';
* 수정 이후에는 mysql 재시작이 필요합니다.
슬로우 쿼리 설정 후, 재시작시 unknown variable 'log-slow-queries' 와 같은 오류 메시지와 함께 mysql이 시작되지 않는 경우가 있습니다. 이럴 경우에는 아래 명령어를 이용합니다.
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow-queries.log
long_query_time = 1
'데이터베이스(DA, AA, TA) > MySQL' 카테고리의 다른 글
[MySQL] MySQL 마이그레이션 (0) | 2017.09.16 |
---|---|
[MySQL] 자주 쓰는 명령어 (0) | 2017.08.02 |
[Real MySQL] 실행 계획 분석 시 주의사항 (0) | 2017.06.21 |
[Real MySQL] 테이블 조인 (0) | 2017.06.20 |
[Real MySQL] MySQL의 주요 처리 방식 (0) | 2017.06.15 |