본문 바로가기

Database/mariaDB administrator

[mariadb] binary log 안전하게 삭제하는 방법

[mariadb] binary log 안전하게 삭제하는 방법

binary log 안전하게 삭제하는 방법

mariadb를 운영할때, DB 서버의 용량 관리를 잘 하셔야 합니다.
Binary log는 애초에 설치를 하게 되면 셋팅이 되어 있습니다.
우선 Binary log가 뭔지 확인 하고, 어떻게 지워야 하고, 관리를 해야 하는지 알아 보겠습니다.

mariadb binary log 란?

일반적으로 MySQL과 mariadb의 binary log 개념은 같습니다. 여기서 Binary Log 는 add, delete, insert, update 등의 query 가 저장되어 있는 파일로서 MySQL이나 mariadb를 설치하게 되면 기본적으로 MySQL Binary Log 가 생성되게 되어 있습니다.

mariadb binary log 조회 방법

mariadb에서 binary log를 조회 하는 방법은 다음과 같습니다.
만약 리플리케이션이나 mha 구성의 경우 각 노드로 접속을 해서 실행을 해야 합니다.

show binary logs;

그럼 아래와 같이 결과들이 나옵니다.

binary log 조회

이게 너무 많으면, DB 서버의 저장공간을 잡아 먹게 되죠.
그래서 주기적으로 관리를 하셔야 합니다.

 

 

 

mariadb binary log 삭제 방법

삭제를 하는 방법은 몇가지 있습니다.
하나씩 삭제 하는방법과 특정 로그 이전을 모두 지우는 방법이 있습니다.
그리고 특정일자를 주고 그 이전것들은 모두 삭제 하는 방법이 있죠.
하나씩 보겠습니다.

-- 특정 로그 하나만 purge
purge binary logs to 'mysql-bin.000038';

-- 특정 로그 이전 로그 일괄 purge
purge master logs to 'mysql-bin.000186';
-- mysql-bin.000186 이전에 생성된 모든 로그를 purge

-- 특정 일자 이전 로그 일괄 purge
PURGE MASTER LOGS BEFORE DATE_SUB(CURRENT_DATE, INTERVAL 30 DAY)

-- 파라미터 수정을 통한 자동 purge
set global expire_logs_days=2;
SHOW VARIABLES LIKE '%expire%';

간단하게 위와 같이 설정을 하거나 purge 할 수 있습니다.

mariadb binary log purge

오늘도 하나 알아 가시길 바랍니다.
감사합니다.

by.sTricky