DB

[MySQL] 슬로우 쿼리 로그 파일 위치와 확인 방법 🗂️

인생아 2025. 7. 4. 19:58
반응형

슬로우 쿼리 로그는 MySQL 성능 분석과 쿼리 튜닝을 위한 가장 중요한 기초 자료다
하지만 로그 파일이 어디에 저장되는지 몰라 확인조차 하지 못하는 경우가 많다

🧠 슬로우 쿼리 로그는 어디에 저장될까?

MySQL의 슬로우 쿼리 로그는 파일 시스템에 저장된다
로그를 파일로 남기기 위해서는 다음 조건이 충족되어야 한다

  • slow_query_log = ON 설정되어 있어야 함
  • slow_query_log_file 경로가 지정되어 있어야 함
  • MySQL이 해당 파일을 쓸 수 있는 권한을 가지고 있어야 함

만약 로그 파일 경로를 따로 지정하지 않았다면 운영체제 및 MySQL 버전에 따라 기본값이 달라질 수 있다

📍 현재 슬로우 쿼리 로그 경로 확인 방법

MySQL에 접속한 후 아래 명령어를 실행하면 된다

SHOW VARIABLES LIKE 'slow_query_log_file';

결과 예시

+---------------------+-----------------------------------------+
| Variable_name       | Value                                   |
+---------------------+-----------------------------------------+
| slow_query_log_file | /var/lib/mysql/ubuntu-slow.log          |
+---------------------+-----------------------------------------+

위 경로가 바로 현재 슬로우 쿼리 로그 파일이 저장되는 위치다
운영체제에 따라 다르게 나타날 수 있다

반응형

🐧 Linux 환경 기본 경로

MySQL 설치 방법에 따라 기본 경로가 달라질 수 있다

  • /var/lib/mysql/
  • /var/log/mysql/
  • /usr/local/mysql/data/
  • /opt/homebrew/var/mysql/ (Mac Homebrew 설치 시)

해당 디렉토리에 있는 .log 파일을 직접 열어서 확인할 수 있다

sudo cat /var/lib/mysql/ubuntu-slow.log

또는 tail 명령어로 실시간 확인도 가능

tail -f /var/lib/mysql/ubuntu-slow.log

🪟 Windows 환경 기본 경로

Windows에서는 설치 버전에 따라 다음 경로 중 하나에 저장된다

  • C:\ProgramData\MySQL\MySQL Server 8.0\Data\
  • C:\xampp\mysql\data\ (XAMPP 사용 시)

기본 로그 파일 이름은 hostname-slow.log 또는 mysql-slow.log 형태로 생성된다

Windows에서는 notepad, notepad++ 등으로 직접 열어보면 된다

notepad "C:\ProgramData\MySQL\MySQL Server 8.0\Data\PCNAME-slow.log"

☁️ AWS RDS 슬로우 쿼리 로그 위치

RDS는 EC2처럼 파일 경로 접근이 불가능하다
대신 로그 파일은 RDS 콘솔 또는 CloudWatch Logs를 통해 접근한다

✅ RDS 콘솔 확인 방법

  1. AWS 콘솔 → RDS → 데이터베이스 선택
  2. 좌측 메뉴 → 로그 및 모니터링 → 로그 파일
  3. slowquery/mysql-slowquery.log 파일 다운로드 또는 보기

✅ CloudWatch에서 실시간 확인

CloudWatch 로그 그룹이 활성화되어 있다면 rds/mysql/DBInstanceIdentifier/slowquery 로그 스트림에서 실시간으로 확인 가능

CloudWatch 로그 구독 기능을 활용하면 슬랙, 메일 알림도 설정할 수 있어 편리하다

반응형

🧪 로그 경로 변경 방법 (로컬 서버)

슬로우 쿼리 로그 저장 경로는 slow_query_log_file 변수로 지정할 수 있다

SET GLOBAL slow_query_log_file = '/var/log/mysql/custom-slow.log';

또는 my.cnf에 아래와 같이 지정 가능

slow_query_log_file = /var/log/mysql/custom-slow.log

디렉토리 접근 권한도 함께 확인해야 한다

sudo chown mysql:mysql /var/log/mysql

변경 후에는 MySQL을 재시작하거나 해당 설정을 다시 로드해야 한다

✅ 정리

  • 슬로우 쿼리 로그는 slow_query_log_file 변수로 위치를 확인할 수 있음
  • 기본 위치는 OS와 설치 방법에 따라 달라지며, 설정으로 직접 지정 가능
  • AWS RDS에서는 로그 파일을 콘솔 또는 CloudWatch에서 확인해야 함
  • 실시간 로그 확인은 tail -f 또는 CloudWatch 로그 스트림 활용
  • 로그 파일은 지속적으로 용량이 쌓이므로 logrotate 또는 삭제 정책도 필요

🔗 공식 문서 참고
MySQL 8.0 Reference Manual - Slow Query Log File

 

반응형