mysql binary log

mysql을 사용중이였는대 hard disk사용량이 80%가까이 증가하여서 

쓸모 없는 데이타를 정리하고 하여도 용량에 별차이가 없었다.

서버에 접속하여 확인해보니

msyql-bin.000001
msyql-bin.000002
.....

위와 같은 binary log파일이 늘어나서 용량이 증간한것을 확인할 수 있었다.

주기적으로 binary log파일을 백업 후 삭제하여 문제를 해결할 수 있었다.

 

binary log

- MySQL 쿼리를 수행하면서 쌓는 로그, 추 후 트랜잭션하여 시점 복구 등을 수행하는 역할을 한다.
- 주기적으로 지워주지 않으면 파일의 용량이 엄청나게 늘어날 수 있으므로 백업 후 삭제해 주는것이 좋다.
- mysqlbinlog msyql-bin.000001 > bakcup.sql 형식으로해서 쿼리문으로 복구가 가능하다.

my.cnf  – binary log 설정

log-bin=mysql-bin   # 바이너리 로그 저장 설정 및 저장할 디렉토리 지정,mysql-bin.00000X의 형태
binlog_cache_size = 2M                # 바이너리 로그 cache 사이즈 
max_binlog_size = 200M                 # 바이너리 로그 최대 파일 사이즈 
expire_logs_days = 7                 # 보관기간

binary log 확인

show binary logs; 
show master logs; 

binary log삭제

#지정된 바이너리 로그 이하의 파일 삭제
purge master logs to 'mysql-bin.000010';

#특정일 기준으로 삭제
purge master logs before date_sub(CURRENT_DATE, INTERVAL 10 DAY);