슬로우 쿼리 로그는 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 콘솔 확인 방법
- AWS 콘솔 → RDS → 데이터베이스 선택
- 좌측 메뉴 → 로그 및 모니터링 → 로그 파일
- 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
'DB' 카테고리의 다른 글
| [MySQL] 서브쿼리의 성능 특징과 사용 시 주의점 (0) | 2025.07.08 |
|---|---|
| [MySQL] 서브쿼리 vs JOIN vs CTE 기본 개념 비교 총정리 (2) | 2025.07.08 |
| [MySQL] 슬로우 쿼리 실전 튜닝 사례로 배우는 병목 원인 분석 (1) | 2025.07.07 |
| [MySQL] mysqldumpslow, pt-query-digest로 슬로우 쿼리 분석하기 🔧 (4) | 2025.07.04 |
| [MySQL] slow_query_log 주요 설정 옵션 설명 (long_query_time 등) ⚙️ (0) | 2025.07.04 |
| [MySQL] 슬로우 쿼리 로그 설정 방법 (my.cnf + RDS 포함) (1) | 2025.07.04 |
| [MySQL] 슬로우 쿼리 로그란? 원리와 기본 개념 총정리 (0) | 2025.07.04 |
| [MySQL] 실행계획 캐시와 쿼리 플랜 재사용 이해하기 🚀 (1) | 2025.07.04 |