MySQL의 바이너리 로그 상태를 확인하는 법
MySQL을 운영하다 보면 바이너리 로그(Binary Log)를 확인해야 하는 순간이 자주 발생합니다. 특히 데이터 복제(replication)나 장애 복구를 위한 로그 백업을 설정할 때 로그의 현재 상태를 알아야 하죠. 이럴 때 유용하게 사용할 수 있는 명령어가 바로 SHOW BINARY LOG STATUS입니다.
이 문서는 MySQL 사용자들이 SHOW BINARY LOG STATUS 명령어를 통해 어떤 정보를 얻을 수 있는지, 실제로 언제 어떻게 활용할 수 있는지를 알기 쉽게 설명합니다.
SHOW BINARY LOG STATUS란?
SHOW BINARY LOG STATUS는 현재 사용 중인 바이너리 로그 파일과 그 위치를 확인할 수 있는 MySQL 명령어입니다. 일반적으로 다음과 같은 결과를 출력합니다:
mysql> SHOW BINARY LOG STATUS;
+------------------+----------+
| File | Position |
+------------------+----------+
| mysql-bin.000025 | 154 |
+------------------+----------+
- File: 현재 MySQL 서버가 기록 중인 바이너리 로그 파일명
- Position: 그 파일 내에서 다음 로그 이벤트가 기록될 위치(offset)
이 정보는 주로 복제 설정, binlog 백업, GTID 복구 시점 파악 등에 사용됩니다.
🔍 참고: 이 명령어는 MySQL 8.x에서도 동일하게 작동하며, 이전 버전(5.7, 5.6)과도 호환됩니다.
언제 어떻게 사용하나?
1. 복제(replication) 설정할 때
복제를 위해 슬레이브 서버를 설정할 때, CHANGE MASTER TO 문에 사용할 MASTER_LOG_FILE과 MASTER_LOG_POS 값을 알아야 합니다. 이 값을 마스터 서버에서 SHOW BINARY LOG STATUS로 확인할 수 있습니다.
2. binlog 백업 자동화
정기적으로 binlog를 백업하고, 어느 시점까지 백업했는지를 추적하려면 File과 Position 정보를 활용할 수 있습니다. 백업 스크립트와 연동하여 현재 상태를 기록해두면, 장애 복구 시 매우 유용합니다.
3. 장애 복구 및 Point-in-Time Recovery (PITR)
데이터 복원 후 바이너리 로그를 재적용할 때, 어디서부터 로그를 적용해야 할지를 판단하기 위해 SHOW BINARY LOG STATUS가 쓰입니다.
유의할 점 및 버전 관련 팁
- SHOW BINARY LOG STATUS는 현재 사용 중인 binlog 파일 하나만 보여주므로, 모든 로그 목록을 보려면 SHOW BINARY LOGS를 사용해야 합니다.
- 바이너리 로그가 비활성화된 경우(--log-bin 옵션 미사용) 이 명령어는 아무 결과도 반환하지 않습니다.
- MySQL 8.0에서는 Performance_Schema나 Information_Schema를 통해 더 정교한 로그 분석이 가능해졌지만, 이 명령어는 여전히 간단한 상태 확인용으로 널리 사용됩니다.
마무리 및 실전 팁
SHOW BINARY LOG STATUS는 단순하지만, 운영 중인 MySQL 시스템의 로그 상태를 파악하는 데 매우 유용한 도구입니다. 복제, 백업, 복구 등 여러 시나리오에서 중요한 역할을 합니다.
실전 팁:
- 마스터 서버에서는 이 명령어의 결과를 주기적으로 기록해두는 것이 좋습니다.
- 복제를 설정하기 전에는 항상 SHOW MASTER STATUS와 함께 확인하세요.
- 로그 순서에 따라 백업 순서를 정할 때, SHOW BINARY LOGS와 함께 사용하면 효과적입니다.
공식 문서 링크
'SQL > MYSQL' 카테고리의 다른 글
[MySQL] SHOW COLLATION 문 완벽 해설: 콜레이션 종류와 차이점 이해하기 (0) | 2025.06.27 |
---|---|
[MySQL] SHOW CHARACTER SET 문 설명: 사용 가능한 문자 집합 확인하기 (0) | 2025.06.27 |
[MySQL] SHOW BINLOG EVENTS 문 완벽 가이드: 바이너리 로그 이벤트 분석하기 (1) | 2025.06.27 |
[MySQL] SHOW BINARY LOGS로 바이너리 로그 목록 확인하기 (1) | 2025.06.26 |
[MySQL] SET NAMES 사용법: 클라이언트 문자셋과 콜레이션 완벽 제어하기 (0) | 2025.06.25 |
[MySQL] SET CHARACTER SET 사용법: 세션 문자셋 쉽게 변경하기 (0) | 2025.06.25 |
[MySQL] SET 문법: 변수 할당과 시스템 변수 관리 완벽 이해 (0) | 2025.06.25 |
[MySQL] UNINSTALL PLUGIN 사용법: 플러그인 안전하게 제거하기 (0) | 2025.06.25 |