I. 서론
쿼리가 더 나은 데이터베이스 시스템의 성능을 최적화하기 위해, 성능 병목 현상 분석을 배치하여, MySQL의 기록에서 지정된 시간을 초과에 슬로우 쿼리 로그를 켜십시오, 당신은 문을하도록 할 수 있습니다.
둘째, 매개 변수 설명
상태에 느린 쿼리 slow_query_log
slow_query_log_file 슬로우 쿼리 로그 저장 위치 (디렉토리가 MySQL의 계정 쓰기 권한을 실행하는 데 필요한, MySQL의 데이터를 보통 설정 저장 디렉토리)
LONG_QUERY_TIME 쿼리는 기록을 초 단위로 초과
셋째, 단계를 설정
1. 느린 쿼리 매개 변수를 검토
mysql> show variables like 'slow_query%';
+---------------------------+----------------------------------+
| Variable_name | Value |
+---------------------------+----------------------------------+
| slow_query_log | OFF |
| slow_query_log_file | /mysql/data/localhost-slow.log |
+---------------------------+----------------------------------+ mysql> show variables like 'long_query_time'; +-----------------+-----------+ | Variable_name | Value | +-----------------+-----------+ | long_query_time | 10.000000 | +-----------------+-----------+
2. 방법
방법 A : 전역 변수를 설정하는
설정 전역 변수를 slow_query_log하기를 "ON"상태
mysql> set global slow_query_log='ON';
설정 슬로우 쿼리 로그 저장 위치
mysql> set global slow_query_log_file='/usr/local/mysql/data/slow.log';
기록을 1 초 이상보세요
mysql> set global long_query_time=1;
두 번째 방법 : 프로필 설정은
설정 파일 my.cnf 파일을 수정 [mysqld에]에서 아래에 추가
[mysqld]
slow_query_log = ON
slow_query_log_file = /usr/local/mysql/data/slow.log
long_query_time = 1
3. 다시 시작 MySQL의 서비스
service mysqld restart
4. 매개 변수 설정
mysql> show variables like 'slow_query%';
+---------------------+--------------------------------+
| Variable_name | Value |
+---------------------+--------------------------------+
| slow_query_log | ON |
| slow_query_log_file | /usr/local/mysql/data/slow.log | +---------------------+--------------------------------+ mysql> show variables like 'long_query_time'; +-----------------+----------+ | Variable_name | Value | +-----------------+----------+ | long_query_time | 1.000000 | +-----------------+----------+
넷째, 테스트
1. 느린 쿼리 SQL 문을 수행
mysql> select sleep(2);
슬로우 쿼리 로그를 생성할지 여부 2.
ls /usr/local/mysql/data/slow.log
로그가 존재하면, MySQL 느린 쿼리가 성공을 열도록 설정되어!