본문 바로가기

Server/Linux

MySQL 바이너리 로그(Binary Log) 관리

1. MySQL 바이너리 로그란?

바이너리 로그(Binary Log)는 MySQL에서 데이터베이스 변경 작업(INSERT, UPDATE, DELETE 등)의 기록을 남기는 로그

 

주요 용도

데이터 복구: 예상치 못한 장애 발생 시 데이터 복원을 위해 사용

복제(Replication): MySQL 복제 서버 간 데이터 동기화에 사용

감사(Audit) 로그: 누가 언제 데이터를 변경했는지 추적

 

2. 바이너리 로그 확인 방법

mysql> SHOW BINARY LOGS;

/var/lib/mysql 디렉터리의 용량을 많이 차지하고 있다.

3. 바이너리 로그 삭제 방법

 

3-1. 특정 로그 파일 이전의 모든 로그 삭제

mysql> PURGE BINARY LOGS TO 'binlog.000043';

# 이 명령어는 binlog.000043 이전의 모든 바이너리 로그 파일을 삭제
# binlog.000043 파일은 삭제되지 않으며 유지

 

3-2. 특정 날짜 이전 로그 삭제 (날짜 기준)

mysql> PURGE BINARY LOGS BEFORE '2024-10-15 00:00:00';

 

3-3. MySQL 서비스 재시작

sudo systemctl restart mysqld