본문 바로가기

Database/MySQL

purge binary logs statement

데이터 변경분을 가지고 있는 binary log 는 삭제되지 않고 계속 축척된다.

상황에 따라 다르겠지만 디스크는 무한하지 않기 때문에 주기적으로 삭제되어야 한다.

 

PURGE { BINARY | MASTER } LOGS {
    TO 'log_name'
  | BEFORE datetime_expr
}

 

예문

PURGE BINARY LOGS TO 'mysql-bin.010';
PURGE BINARY LOGS BEFORE '2019-04-02 22:46:26';

slave 가 있고 replication 중 이라면 삭제에 주의해야 한다. replication 이 아직 진행되지 않은 상태에서

purge 를 할 경우 replication 이 중단 될 수 있다. 물론 해당 파일을 읽는 중이라면 삭제는 되지 않는다.

 

메뉴얼에서는 주기적으로 지우되 모든 파일은 백업을 해두라고 한다. 초기 구축이후 완전한 복구를 위해 필요하다고 생각은 된다.

 

환경변수인 expire_logs_days 를 통해서 주기적으로 삭제를 할 수도 있다.