Linux DB

MYSQL의 질의 속도를 튜닝하다보면 MYSQL의 질의에 대한 응답속도가 현저하게 떨어지거나 MYSQL 데이터베이스와 연동되는 특정 어플리케이션이 시스템자원을 현저하게 많이 차지하는 등의 문제가 발생할 수 있습니다. 이 문제를 해결하기 위해 SLOW 로그에서 어떤 프로그램이 문제를 일으키는지에 대한 확인이 가능합니다.


SLOW 로그는 MYSQL의 환경변수인 "long_query_time" 의 설정시간 (초 단위) 이상의 쿼리 시간을 가지는 특정 SQL 쿼리문에 대한 로그만을 기록하는 로그파일입니다. 따라서 SLOW 로그파일을 활용하면 어떤 프로그램이 쿼리시간을 많이 차지하는가를 확인 할 수 있습니다. 즉 어느날 갑자기 MYSQL의 응답속도가 현저하게 떨어졌다면 SLOW 로그로 쿼리 응답속도가 일정시간 지속되는 쿼리문을 찾아서 조치하면 됩니다.


다음은 예시입니다.


[root@host data]#/usr/local/mysql/bin/mysqld_safe --log-slow-quaries=SLOW_QUERY_LOG &

[1] 4228


이 예시에서 SLOW 로그파일명으로 SLOW_QUERY_LOG 라고 지정하였기 때문에 /usr/local/mysql/data 디렉토리에는 SLOW_QUERY_LOG 라고 지정하였기 때문에 /usr/local/mysql/data/ 디렉토리에는 SLOW_QUERY_LOG 라는 파일명이 생성되어 SLOW 쿼리로그를 기록하게 됩니다.


다음 예시는 해당 SLOW 로그 파일을 확인하는 과정입니다.


[root@host data]#ls -l /usr/loca/mysql/data/SLOW_QUERY_LOG

-rw-rw---- 1 mysql 179 9월 15일 15:42 /usr/local/mysql/data/SLOW_QUERY_LOG


위에 표시된 "SLOW_QUERY_LOG" 파일에는 MYSQL의 환경변수 "long_query_time" 에 초단위로 지정된 시간보다 초과하는 쿼리문만 기록합니다.


다음 예시는 MYSQL의 환경변수 "long_query_time"의 값을 확인하는 방법입니다.


[root@host bin]#./mysqladmin -uroot -p variables | grep long_query_time

Enter password: *********

| long_query_time           | 10.000000


결과를 보면 "long_query_time"이 10초로 설정되어 있는 것을 볼 수 있습니다. 물론 이 값은 변경도 가능합니다.


번호 제목 글쓴이 날짜 조회 수
25 MySQL 설치 시 checking "LinuxThreads"… "Not found" 에러 발생 시 호스트웨이 2012.09.21 11309
24 [mysql] /tmp/mysql.sock이 없다고 DB접속이 안되는 경우 호스트웨이 2015.09.21 11170
23 Mysql DB 생성 및 사용자 추가 호스트웨이 2012.03.23 11144
22 MySQL Table 상태 확인, 복구 및 최적화 호스트웨이 2015.09.11 10895
21 MySQL 원격 접속이 이뤄지지 않는다면? 호스트웨이 2012.07.13 10736
20 chive – phpMyAdmin 보다 좋은 ! 호스트웨이 2012.05.18 10621
19 mysql replication을 이용한 DB 백업 동기화 에러 발생시 (slave db 1062 error) 호스트웨이 2015.09.09 8981
18 MySQL 보안을 위한 전용관리계정으로 MySQL 관리하기 호스트웨이 2015.09.08 8956
17 [mysql] table 백업 호스트웨이 2015.09.21 7800
16 Client does not support authentication protocol requested by server 메시지 발생 시 호스트웨이 2012.10.18 7604
15 MYSQL 동시접속자수 늘리기 호스트웨이 2015.09.18 7317
14 [Oracle] 대량 자료 조회 Parallel 호스트웨이 2015.09.26 7239
13 mysql-5.5.x 에서 character-set 변경 호스트웨이 2012.12.07 7200
12 [MySQL] 쿼리 한 번으로 데이터베이스 용량 알아내기 file 호스트웨이 2012.11.16 7153
11 [mysql] 작은 용량의 파일 로드 속도가 느려진 경우 호스트웨이 2015.09.22 7104
10 MySQL에서 Query Cache 사용하기 호스트웨이 2012.12.20 7087
9 [MySQL] 무한정 늘어나는 log-bin 파일 줄이기 호스트웨이 2012.11.23 7054
8 MySQL DB 옵티마이저 사용법 호스트웨이 2015.09.18 6858
7 Mysql에서 log-slow-queries 로그 남기기 호스트웨이 2012.09.21 6811
6 phpmyadmin에서 'mcrypt 확장모듈을 불러올 수 없습니다' 에러 시 file 호스트웨이 2012.11.29 6657