mysql 슬로우 쿼리 로그 설정 및 테스트
- 프로그래밍/sql,db,mysql
- 2019. 8. 28.
개발환경
Centos6
Mysql 5.5
1.현재 mysql에 slow query log의 설정을 확인
show variables like 'slow_query_%'
슬로우 쿼리 로그가 OFF되어있기 때문에 설정하겠습니다
2.mysql을 종료하고
-mysql의 설정파일인 my.cnf를 수정하겠습니다
vi /etc/my.cnf
3.my.cnf수정
-[mysqld] 아래 적당한곳에 아래 내용을 추가합니다.
slow_query_log = 1
slow_query_log_file = /var/log/mysql/mysql-slow.log
long_query_time = 2
총 3줄인데,
첫번째 줄 slow_query_log = 1은 로그를 사용(ON)하겠다는 뜻입니다. 0이면 안하겠다는뜻(OFF)
두번째 줄은 슬로우쿼리 로그를 저장할 위치입니다
세번째 줄의 2는 2초이상 걸리는 쿼리query에 대해 로그를 남기겠다는 뜻입니다.
이제 저장 :wq
4. mysql 재시작
service mysqld restart
5. 로그파일 저장할 폴더 생성 및 권한(퍼미션) 설정
mkdir /var/log/mysql
chown mysql:mysql /var/log/mysql
- 생성 및 설정 후 확인
ll /var/log | grep mysql
6. 제대로 작동하는지 테스트해보겠습니다
-mysql 접속
-쿼리를 지연시키는 함수로 테스트
Select sleep(5);
7.로그가 저장되었는지 확인해보겠습니다
-mysql을 종료하고
cat /var/log/mysql/mysql-slow.log
Time : 쿼리가 실행된 날짜 시간
User@host : 누가/어디서
Query_time : 쿼리실행시간
Lock_time : 테이블 락 시간
마지막줄에 사용된 쿼리문
ps혹시 실행이 안되거나 하면 저장경로나 설정, 권한에 문제가없는지 위에서 다시 확인해주세요~
그래도 안고쳐진다면 댓글로 남겨주세요 ㅎㅎ 같이 해결해봅시다!
'프로그래밍 > sql,db,mysql' 카테고리의 다른 글
mysql 8.0 비밀번호 초기화 --skip-grant-tables (0) | 2021.09.24 |
---|---|
mysql 쿼리문 통계 (주간/일간/월간/기간별) (0) | 2020.02.13 |
mysql 5.1 / 5.7 default-character-set 설정하는방법 my.cnf (0) | 2020.02.06 |
mysql 임시비밀번호 에러 Your password has expired. To log in you must change it using a client that supports expired passwords. (0) | 2019.05.24 |
php mysql 트랜잭션 lock level, 사용방법 3가지 (0) | 2019.05.17 |