mysql 을 사용할때 느린쿼리가 있으면 발견하는 방법이다.
먼저 로그파일기능이 켜져 있는지 확인한다. mysql 로 들어가서 아래명령어를 실행해 본다.
[code]
mysql> show variables like ‘slow_query_%’;
[/code]
[code]
| slow_query_log | OFF
| slow_query_log_file | /var/log/mysql/mysql-slow.log
[/code]
이처럼 slow_query_log 가 off 되어 있으면 on 해줘야 한다.
/etc/my.cnf 파일을 열고 [mysqld] 섹션에 아래와 같이 입력한다.
[code]
[mysqld]
…
slow_query_log=1 # 슬로우쿼리 로그기능을 On 한다
slow_query_log_file=/var/log/mysql/mysql-slow.log # 로그파일이 기록될 위치 지정
long_query_time=1 # 쿼리실행이 1초가 넘어가는것만 기록한다.
[/code]
로그파일을 기록할 위치를 /var/log/mysql/mysql-slow.log 로 지정해줬다.
이때 /var/log/mysql 디렉토리를 mysql 이 쓸 수 있도록 소유권을 지정해줘야 한다.
[code]
$ chown mysql:mysql /var/log/mysql
[/code]
이제 mysql 로 들어가서 다시 들어가서 확인해보면 On 되어 있다.
[code]
| slow_query_log | ON
| slow_query_log_file | /var/log/mysql/mysql-slow.log
[/code]
다시 빠져나와서 mysql 을 재시작한다.
[code]
$ service mysqld restart
[/code]
이제부터 1초가 넘어가는 쿼리를 실행할때마다 mysql-slow.log 에 기록이 된다.