MySQL 바이너리 로그 남기기

MySQL에서 바이너리 로그를 남기면 MySQL에서 발생하는 모든 쿼리가 기록으로 남는다.

 

이 로그는 my.cnf에서log-bin=mysql-bin 을 주석처리하거나
시작 명령어에서 사용을 안하게 하지 않으면 로그를 지속적으로 쌓는다.

 

바이너리 로그는 특성상 용량을 많이 차지하게 되므로 주기적으로 로그를 삭제해야 용량 부족을 면할 수 있다.

 

1. 현재의 로그 리스트는 mysql 에서 명령어로 확인 할 수 있다.
mysql> show binary logs;
mysql> show master logs;

 

2. 바이너리 로그를 삭제할 때는
mysql> PURGE MASTER LOGS TO ‘mysql-bin.000001’;

특정 일자이전의 기록을 삭제할 때는
mysql> PURGE BINARY LOGS BEFORE ‘2010-01-01 00:00:00’;

 

3. 바이너리에 제한을 주고싶다면 my.cnf 에서 옵션을 수정하면된다.

binlog_cache_size = 50M # binlog cache 사이즈
max_binlog_size = 500M # bin로그 maximum 사이즈
expire_logs_days = 3 # 로그 만료기간(최근 3일간 로그를 기록)