관리 메뉴

가끔 보자, 하늘.

MySQL DB 바이너리 로그 삭제 처리 본문

개발 이야기/DB, 데이터분석, AI

MySQL DB 바이너리 로그 삭제 처리

가온아 2022. 10. 17. 09:07

개발 혹은 테스트 인프라에서 MySQL 운영할 때 바이너리 로그를 지우지 않아 문제가 되는 경우를 가끔 보내요. 

MySQL(MariaDB)의 경우 global variables에서 바이너리 로그 유지 기간을 설정할 수 있습니다. 

SHOW VARIABLES LIKE 'expire_logs_days';

위와 같이 쿼리를 해보면 0 혹은 별도 지정한 값이 출력됩니다. 단위는 days입니다. 

set global expire_logs_days=7;

위의 예처럼 유지할 일자를 설정하면 자동으로 삭제됩니다. 

만약 수동으로 바이너리 로그를 삭제하고 싶다면 원격 접속해서 지울수도 있고 쿼리로 아래와 같이 삭제할 수 있습니다.

reset mater; // 현재 사용중인 마지막 log만 남기고 나머지 bin log 파일들을 삭제
purge master logs to 'mysql-bin.000111'; // 000111번까지의  bin log 파일들을 삭제

보통 DB 파일을 저장하는 파티션은 분리하여 운영하지만 개발자들은 자신의 PC나 테스트용 인프라에 대충 설치만 하고 사용하므로 심심치찮게 문의가 오기도 하네요.

그럼 좋은 주말 되시길... :)

반응형