MySQL 구성 파일의 느린 쿼리 설정
느린 쿼리 로그 확인
mysql> ‘slow_query_%’와 같은 변수 표시;
서버에서 설정
MySQL my.cnf 설정
vi /etc/my.cnf
================================================== ===================
(마이SQL)
#slow_query_setting
slow_query_log=1 //////1=켜짐 0=꺼짐
log_slow_log_file = /var/log/mysql/mysql-slow.log
long_query_time = 3
3초 이상 걸리는 쿼리를 기록하는 느린 쿼리 설정입니다.
log_slow_querise: 저장할 로그 경로
long_query_time : 쿼리 시간이 지정된 시간을 초과하는 부분만 저장
MySQL 재시작
/etc/init.d/mysqld 재시작
cd /var/로그
mkdir mysql
chown mysql:mysql /var/log/mysql
mysql -u 루트 -p
~ 후에
수면(5)을 선택하십시오.
느린 MySQL 쿼리 분석
‘long_query_%’와 같은 변수를 표시합니다.
================================================== ===================
서버에서 slow_query 설정
mysql -u 루트 -p
이 값(초)보다 큰 로그 기록
mysql> 글로벌 long_query_time = 3 설정;
느린 폴링 활성화 여부(0 = 비활성 / 1 = 활성)
mysql> 글로벌 slow_query_log = 1 설정;
느린 쿼리 로그 파일 경로
mysql> 글로벌 slow_query_log_file=”/var/log/mysql/slow_queries.log” 설정;
인덱스를 사용하지 않는 쿼리를 기록할지 여부
mysql> 전역 log_queries_not_using_indexes 설정 = on;
고양이 /var/logl/mysql/slow_query.log
================================================== ===================
느린 쿼리 로그 파일
user@host: db_user(db_user) @ server_hostname(서버 IP)
Query_time: 0.000599 Lock_time: 0.000163 Rows_sent: 3 Rows_examined: 86
SET 타임스탬프 = 1489118717;
수량 선택
Query_time: 쿼리 처리 시간 V
Lock_time: 잠금 횟수
Row_sent: 검색 결과의 행 수
Rows_examined: 검색할 ROW 개수
MySQL 쿼리의 응답 시간 확인
mysqladmin -i5 상태 -u 루트 -p
암호를 입력:
가동 시간: 10578 스레드: 1 질문: 4809 느린 쿼리: 589 열기: 1321 플러시 테이블: 1 오픈 테이블: 348 초당 쿼리 평균: 0.454
가동 시간: MySQL 서버가 시작된 이후 현재 시간(초)입니다.
스레드: 현재 DB 서버에 접속한 사용자 수
쿼리: 서버가 시작된 이후 지금까지 요청된 쿼리 수입니다.
느린 쿼리: mysql 구성 파일에서 느린 쿼리 쿼리 시간보다 많은 쿼리 수입니다.
Opens: 서버가 시작된 이후 열린 테이블 수입니다.
열린 테이블: 현재 열려 있는 테이블 수
초당 쿼리 평균: 초당 평균 쿼리 수
================================================== ===================
MySQL 5.1.34 이상 버전
slow_query_log = 10
slow_query_log_file = /usr/local/mysql/data/mysql-slow-query.log
MySQL 4.x 이상 버전
long_query_time = 10
로그 느린 쿼리 = /usr/local/mysql/data/mysql-slow-query.log
MySQL 3.x 및 이전 버전
설정 변수=long_query_time=10
로그 느린 쿼리 = /usr/local/mysql/data/mysql-slow-query.log