MySQL에서 사용하는 log-bin이라는 옵션은 사용된 쿼리들이 로깅되는 파일이며 innodb 혹은 replication 등에 사용된다. 하지만 이 파일의 문제점은 무한정 늘어난다는 것이다. relay-log-space-limit 이란 옵션이 있는데 이는 replication에 사용되는 용량을 제한하는 옵션이라 큰 해결은 안되다.
이를 해결하기 위한 방법으로 아래의 쿼리를 실행해본다.
PURGE MASTER LOGS BEFORE DATE_SUB(CURRENT_DATE, INTERVAL 30 DAY)
INTERVAL 30 DAY란 30일 이전의 로깅 정보를 삭제하게 된다.
# root 계정으로 실행
>mysql -u root -p -e “PURGE MASTER LOGS BEFORE DATE_SUB(CURRENT_DATE, INTERVAL 30 DAY)”
>비번 입력
# 위의 파일을 가지고 복구
/usr/local/mysql/bin/mysqlbinlog /usr/local/mysql/var/localhost-bin.00001>backup.sql 로 일반 쿼리로 변환
# 특정 디비만 가지고 올 경우
-d 디비명
# 시간 지정
–start-datetime=”2010-09-30 01:00:00″ –stop-datatime=”2010-10-09 01:00:00″
# 복원
/usr/local/mysql/bin/mysql -u 사용자 -p < backup.sql
Comments