Slow Queries
안녕하세요. 이번엔 슬로우쿼리에 대한 내용입니다.
슬로우쿼리는 내가 지정한 시간보다 실행하는데 오래걸린 쿼리에 대한 Log를 쌓는 것인데요.
특정 작업이 유달리 오래 걸린다면 해당 로그를 통해 원인을 파악할 수 있겠죠.
설정
슬로우쿼리는 my.cnf 파일 내에서 설정해줍니다.
my.cnf의 경로는 주로 /etc/my.cnf를 사용합니다. 편집기를 통해 다음의 내용을 입력합니다.
my.cnf로 수정할 경우 mysql 서비스 재시작이 필요합니다.
항목 | my.cnf 추가 내용 |
해당 값(초) 이상의 로그 기록 |
long_query_time = 3 |
슬로우쿼리 활성 여부 (0 = 비활성 / 1 = 활성) |
slow_query_log = 1 |
슬로우쿼리 로그파일 경로 |
slow_query_log_file = /var/log/mysql/slow_queries.log |
index를 사용하지 않는 쿼리 기록 여부 |
log_queries_not_using_indexes = on |
또는 mysql 내에서 아래와 같은 명령어를 통해 서비스 재시작을 하지 않고 적용도 가능합니다.
항목 |
mysql 실행 명령어 |
해당 값(초) 이상의 로그 기록 |
mysql> set global long_query_time = 3; |
슬로우쿼리 활성 여부 (0 = 비활성 / 1 = 활성) |
mysql> set global slow_query_log = 1; |
슬로우쿼리 로그파일 경로 |
mysql> set global slow_query_log_file="/var/log/mysql/slow_queries.log |
index를 사용하지 않는 쿼리 기록 여부 | mysql> set global log_queries_not_using_indexes = on; |
확인
[root@localhost ~]# cat /var/logl/mysql/slow_queries.log
Time = 쿼리 요청 시각 Query_time : 쿼리 수행 시간 Lock_time : 락이 걸린 시간 Rows_sent = 쿼리 결과 row수 Rows_examined = 쿼리대상 row수 |
'Linux > MySQL' 카테고리의 다른 글
yum repository를 이용하여 mysql 특정버전 설치 (0) | 2016.10.28 |
---|---|
MySQL Replication 설정 (0) | 2016.10.25 |
rpm을 이용한 MySQL 설치 (5.6 Version) (0) | 2016.10.13 |
MySQL - yum을 이용한 간단 설치 + 특정 버전 설치 (0) | 2016.08.24 |
CentOS + MySQL 컴파일 설치 (1) | 2016.08.23 |