>데이터 베이스 >MySQL 튜토리얼 >MySQL 느린 쿼리 로그를 활성화하는 방법

MySQL 느린 쿼리 로그를 활성화하는 방법

PHPz
PHPz원래의
2023-04-20 10:11:571651검색

느린 쿼리는 예정된 시간에 비해 실행 시간이 예정된 시간을 초과하는 SQL 문을 의미합니다. 느린 쿼리가 제때 삭제되지 않으면 서버에서 실행되는 데이터베이스 성능에 큰 영향을 미칠 수 있습니다. 따라서 프로덕션 환경에서 MySQL 느린 쿼리 로그를 활성화하는 것이 매우 중요합니다.

MySQL 느린 쿼리 로그는 성능이 좋지 않은 쿼리에 대한 세부 정보를 게시하는 데 도움이 됩니다. 프로덕션 환경에서 성능 문제를 진단하고 해결할 때 매우 유용합니다. 이번 글에서는 MySQL 느린 쿼리 로그를 활성화하는 방법을 자세히 소개하겠습니다.

1단계: MySQL 느린 쿼리 로그 기본 경로 확인

MySQL 느린 쿼리 로그 기본 경로를 확인해야 합니다. Linux 시스템에서는 MySQL 느린 쿼리 로그가 /var/lib/mysql/hostname-slow.log 파일에 저장됩니다.

2단계: MySQL 구성 파일 my.cnf 편집

MySQL 느린 쿼리 로그를 활성화하려면 MySQL 구성 파일을 편집해야 합니다. 내 my.cnf 파일은 /etc/mysql/ 디렉토리에 있습니다.

vim 편집기를 사용하여 my.cnf 파일을 엽니다.

$ sudo vim /etc/mysql/my.cnf

3단계: my.cnf 파일에 다음 콘텐츠를 추가합니다.

파일 끝에 다음 콘텐츠를 추가합니다.

slow_query_log = 1
slow_query_log_file = /var/lib/mysql/ hostname-slow.log
long_query_time = 2

위 구성에서

  • slow_query_log는 활성화 또는 비활성화하는 데 사용되는 스위치 변수입니다. MySQL 느린 쿼리 로그. 이 값을 1로 설정하면 MySQL 느린 쿼리 로깅이 활성화됩니다.
  • slow_query_log_file은 MySQL 느린 쿼리 로그 파일의 위치와 이름을 지정하는 데 사용됩니다.
  • long_query_time은 쿼리가 느린 쿼리로 간주되는 데 필요한 시간을 지정하는 정수입니다. 이 예에서는 2초로 설정했습니다. 즉, 실행 시간이 2초를 초과하면 느린 쿼리로 기록됩니다.

my.cnf 파일을 편집한 후 파일을 저장하고 닫습니다.

4단계: MySQL 서비스 다시 시작

my.cnf 파일의 변경 사항을 적용하려면 MySQL 서비스를 다시 시작하세요.

$sudo service mysql restart

5단계: MySQL 느린 쿼리 로그 확인

MySQL 느린 쿼리 로그를 확인하려면 다음 명령을 입력하세요.

mysql> SHOW GLOBAL VARIABLES LIKE 'slow_query_log';

MySQL 느린 쿼리 로그가 활성화된 경우 출력은 다음과 같습니다.

+----------------+-------+
| Variable_name  | Value |
+----------------+-------+
| slow_query_log | ON    |
+----------------+-------+

다음 명령을 사용하여 확인할 수 있습니다. 다음 명령 느린 쿼리 로그 파일:

$ sudo cat /var/lib/mysql/ hostname-slow.log

쿼리가 long_query_time을 초과하면 파일에 기록합니다.

결론

MySQL 느린 쿼리 로그를 활성화하면 쿼리 실행 시간에 대한 자세한 정보를 제공할 수 있으며, 이는 내부 프로덕션 시스템의 성능 문제를 진단하고 해결하는 데 매우 유용합니다. 이 문서에서는 Linux 시스템에서 MySQL 느린 쿼리 로그를 활성화하는 방법을 설명합니다. MySQL 느린 쿼리 로그를 활성화하기 전에 테스트 환경에서 테스트하고 충분한 테스트를 수행하여 해당 기능이 프로덕션 데이터베이스에 부정적인 영향을 미치지 않는지 확인하십시오.

위 내용은 MySQL 느린 쿼리 로그를 활성화하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.