mysql에는 여러가지 로그를 남길 수 있습니다.
로그 타입 | 로그에 기록된 정보 |
---|---|
에러 로그 | mysqld를 시작, 구동, 또는 종료할 때 나오는 문제점들 |
일반 쿼리 로그 | 수립된 클라이언트 접속 및 클라이언트에서 받는 명령문 |
바이너리 로그 | 데이터를 변경시키는 모든 명령문 (리플리케이션용으로 사용되는 것 포함) |
슬로우 로그 | long_query_time 시간보다 오래 실행되는 모든 쿼리 또는 인덱스를 사용하지 않은 쿼리 |
아래는 로그를 남기게 하는 방법입니다.
[MySQL 로그 관련]
/etc/my.cnf
# 에러 로그 설정
log-error=/usr/local/mysql/data/error.log
# 쿼리 로그 설정
log=/usr/local/mysql/data/query.log
모든쿼리로그 남기는 방식이 1가지 더 있는데 그건 General Log 를 이용하여 MySQL에서 수행 중인 모든 Query를 로깅할 수 있습니다.
*모든쿼리의 로그를 남기기 때문에 용량이 과도해 질 수 있습니다.
# 바이너리 로그 설정
log-bin=mysql-bin
# 슬로우 쿼리(slow query) 로그 설정
log-slow-queries=/usr/local/mysql/data/mysql-slow.log
long_query_time=3
# UPDATE 쿼리 설정
log-update=update_logs
감사합니다.
[polldaddy rating=”7739789″]