mysql 느린쿼리 (slow query) 로그로 남기기 > IT 기술백서

IT 기술백서

직접 알아내거나 검색하기 귀찮아서 모아 둔 것

DB | mysql 느린쿼리 (slow query) 로그로 남기기

본문

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 에 기록이 된다.

 

댓글 0개

등록된 댓글이 없습니다.

Menu