메뉴 건너뛰기

GREATUSER

tech

DB 구버전 MySQL(to 4.0) 에서 바이너리 로그 정리하기

위대한유저 2011.07.02 19:00 조회 수 : 104504

1. 개요

mysql-replication 을 구성할때
bin-log 설정을 하게됨
운영이 지속되면 bin-log 도 계속해서 쌓이게 되는데
무한정 저장할 필요가 없으므로 이를 정리하며..
my.cnf설정의
expire_logs_days=5  (숫자는 날짜이며 예제에서는 5일을 뜻함)
를 통해 자동으로 오래된 binlog 를 삭제할 수 있음

단, 저 설정은 mysql-4.1 버전 이상에서만 지원하기 때문에 오래된 버전에서는 사용불가
비슷한 설정도 구버전은 없는듯



2. 처리방법

PURGE MASTER LOGS 구문을 사용
replication 구동중에도 문제없이 사용할 수 있음

예제)
PURGE MASTER LOGS TO 'server-bin.100';      server-bin.100 까지의 로그를 모두 삭제

PURGE MASTER LOGS BEFORE '2011-07-01 01:00:00';     2011년 7월 1일 01시 이전의 로그를 모두 삭제



3. 주의점

- 삭제대상 로그가 현재 참조하는 로그파일을 포함하면 안됨
- 현재 슬레이브 서버에서 참조하는 로그파일이 어떤것인지 반드시 확인을 해야함, 삭제대상을 그 이전으로 잡아야하기 때문

위로