- MYSQL slow query란 사용자(client)로 부터 요청받은 query 수행시간이 설정한 시간보다 오래 걸릴때
해당 쿼리에 대하여 생성되는 로그입니다.
- 로그는 query, slow query 발생 시간, query 수행 시간, 쿼리를 요청한 User 및 host 가 남겨집니다.
해당 쿼리에 대하여 생성되는 로그입니다.
- 로그는 query, slow query 발생 시간, query 수행 시간, 쿼리를 요청한 User 및 host 가 남겨집니다.
아래 테스트 환경은 아래와 같으며 서비스 구성 환경에 따라 명령어가 상이할 수 있습니다.
- mysql 설치 경로 : /opt/mysql
- my.cnf 파일 경로 : /etc/my.cnf
- mysql 설치 경로 : /opt/mysql
- my.cnf 파일 경로 : /etc/my.cnf
[slow query 설정 여부 확인하기]
1. localhost에서(root 계정으로 서버 ssh 접속) mysql root 계정으로 접속
- localhost에서 mysql 로그인
- 실행 명령어 : /opt/mysql/bin/mysql -u root -p
2. mysql root 계정으로 mysql 접속후 아래 쿼리 실행하여 설정 여부 확인
- 실행 쿼리 : show variables like "%slow_query%";
- slow_query_log : 슬로우 쿼리 설정 여부( ON : 활성 / OFF : 비활성 )
- slow_query_log_file : 슬로우 쿼리 로그 파일 경로
[slow query 설정하기]
- mysql slow query 설정이 안되어 있다면 아래 방법으로 slow query 활성할 수 있습니다.
1. my.cnf 설정 파일에 아래 옵션값 추가
slow_query_log=1 ( 1: 활성 / 0: 비활성 )
slow_query_log_file= 생성할 slow query 로그 파일 경로 ( ex. /opt/mysql/var/slow-query.log )
long_query_time=3 ( 쿼리 수행 시간이 3초 이상일때 slow query 로그 기록 )
slow_query_log_file= 생성할 slow query 로그 파일 경로 ( ex. /opt/mysql/var/slow-query.log )
long_query_time=3 ( 쿼리 수행 시간이 3초 이상일때 slow query 로그 기록 )
2. mysql 재시작
- mysql/mariadb 실행|종료 명령어 : /opt/mysql/support-files/mysql.server start | stop
- mysql 5.1 버전 실행|종료 명령어 : /opt/mysql/share/mysql/mysql.server start | stop