Mysql 데이터베이스 최적화 시작 느린 조회 로그

2505 단어
Mysql 버전: 5.5.18
다음은 두 가지 방식으로 mysql를 열고 느린 검색을 시작하는 방법을 소개할 것이다
1. 프로필 수정(mysql 리셋 후 효력을 상실하지 않으며, 프로필 수정 후 리셋이 필요하다는 단점)
mysql 프로필 열기 (설치 방식에 따라 프로필 경로가 다르다)
#vim/etc/my.cnf (설정 파일에 내용 추가)
[mysqld]
long_query_time = 1
slow_query_log = 1
slow-query-log-file = /home/mysql/log/slow.log

설명:longquery_time = 1 # 는 1S 이상의 SQL을 실행하는 것을 나타냅니다.
slow_query_log=1 #1은 느린 조회를 켜는 것을 의미하고 0은 느린 조회를 끄는 것을 의미한다
slow-query-log-file =/home/mysql/log/slow.log # 느린 조회 로그 저장 경로
#log-queries-not-using-indexes # 추가할 필요가 없습니다. 색인이 없는 검색을 기록할 필요가 있으면 이 항목을 추가하십시오. 그렇지 않으면 화면이 도배됩니다.
수정이 끝난 후 데이터베이스를 다시 시작하는 것을 기억하세요
다시 시작하면 mysql 느린 조회를 열 지 확인하기 (ON은 열려 있고 OFF는 닫혀 있음)
mysql> show variables like '%slow%';
+---------------------+-------------------------------------+
| Variable_name       | Value                               |
+---------------------+-------------------------------------+
| log_slow_queries    | ON                                  |
| slow_launch_time    | 2                                   |
| slow_query_log      | ON                                  |
| slow_query_log_file | /home/mysql/log/slow.log |
+---------------------+-------------------------------------+
4 rows in set (0.00 sec)

색인이 없는 문이 기록되었는지 묻기 (OFF가 열려 있지 않음)
mysql> show variables like 'log_queries_not_using_indexes';
+-------------------------------+-------+
| Variable_name                 | Value |
+-------------------------------+-------+
| log_queries_not_using_indexes | OFF   |
+-------------------------------+-------+
1 row in set (0.00 sec)

얼마나 오래 걸렸는지 확인하는 sql가 기록됩니다
mysql> show variables like '%long_query%';     #      
+-----------------+----------+
| Variable_name   | Value    |
+-----------------+----------+
| long_query_time | 1.000000 |
+-----------------+----------+
1 row in set (0.00 sec)

2. mysql 명령행 수정
질의 명령 참조 위
mysql> set global long_query_time=1;
Query OK, 0 rows affected (0.00 sec)

mysql> set global slow_query_log=1;
Query OK, 0 rows affected (0.02 sec)

mysql> set global slow_query_log_file = '/home/mysql/log/slow.log';
Query OK, 0 rows affected (0.00 sec)

mysql> set global log_queries_not_using_indexes=off;   #         
Query OK, 0 rows affected (0.00 sec)

명령을 집행한 후 위의 문장을 사용하여 열었는지 확인하고 수정이 끝난 후에 데이터베이스를 다시 시작하지 않아도 되지만 데이터베이스를 다시 시작하면 효력을 상실한다.

좋은 웹페이지 즐겨찾기