안녕하세요?
show status, status를 하면 슬로우 쿼리가 10개 정도 10분마다 나오는데요.
이 쿼리가 어떤 쿼리인지 알 수 있나요?
알 수 있다면 방법 좀 알려주세요.
로그 파일을 남기는 방법을 이용하시면 로그 파일에서 쿼리를 확인하실 수 있습니다.
이것을 슬로우 로그라고 임의로 지칭하겠습니다.
슬로우 로그를 남기려면 데몬 실행시 --log-slow-queries 라는 옵션을 주면 됩니다.
$ safe_mysqld --log-slow-queries=slow_query.log
뒤의 slow_query.log 는 생성될 로그 파일명이며, 임의로 지정할 수 있습니다.
이렇게 한 다음 얼마의 시간 이상이 걸리는 쿼리만 로그에 남길지를
long_query_time 이라 옵션으로 지정합니다.
예를들어 10초 이상의 쿼리만 저장하겠다고 한다면 아래와 같습니다.
$ safe_mysqld --log-slow-queries=slow_query.log -O long_query_time=10
마지막으로 슬로우 로그 파일이 생성되는 위치는 소스 컴파일로 설치했다면 아마도 /usr/local/mysql/var/ 디렉토리일 겁니다.
참고로 로그가 많이 쌓일 것을 예상해서 로그로테이트도 작성해 두면 좋겠죠~~
로테이트 방법은 소스 설치시 소스 디렉토리의 support-files/ 디렉토리를 뒤지면 나옵니다.