2016. 7. 15. 16:08 IT/MySQL
Mysql Binary log(bin log).
Mysql 데이터를 좀 더 안정적으로 보호하기 위해선 바이너리 로그가 필수다.
my.cnf에 보면
log-bin=mysql-bin 을 주석처리 하지 않는다면 로그를 지속적으로 쌓을 것이다.
혹은 Mysql 시작시에 --log-bin[=file_name] 을 사용
로그가 용량을 꽤 차지 하게 되므로, 주기적으로 데이터베이스를 백업 받고 바이너리 로그를 지워주는 것이 좋다.
복구할 때는
mysqlbinlog msyql-bin.000001 > bakcup.sql
형식으로해서 쿼리문으로 복구가 가능하다.
로그를 관리할려면 my.cnf에 아래와 같이 설정하면 된다.
binlog_cache_size = 50M # binlog cache 사이즈
max_binlog_size = 500M # bin로그 maximum 사이즈
expire_logs_days = 3 # 로그 만료기간
바이너리 로그 리스트는
mysql> show binary logs;
mysql> show master logs;
해당 로그 파일을 삭제할 때는
mysql> purge master logs to 'mysql-bin.000010';
특정 일자기준으로 삭제할 때는
mysql> purge master logs before date_sub(CURRENT_DATE, INTERVAL 31 DAY);
my.cnf 설정 외에 환경변수를 수정해도 된다.
mysql>show variables;
에서 expire_logs_days를 보면 알 수 있다.
기본적으로는 0으로 되어 있어 삭제가 되지 않으나
mysql> set global expire_logs_days=7;
로 설정하면 7일동안 저장하고 삭제한다.
'IT > MySQL' 카테고리의 다른 글
Mysql 수학 함수 (0) | 2016.11.03 |
---|---|
mysqlbinlog query 보기 (0) | 2016.07.15 |
mysql 여러가지 작업(optimize, Mornitoring 등). (0) | 2016.05.09 |
mysql table name ibd 형태일 시 파일 의미. (0) | 2016.04.28 |
OPTIMIZE TABLE. 테이블 깨졌을 때 조치하는 법. (0) | 2016.01.14 |