Database/MySQL

[MySQL 8.0] MySQL binlog 삭제 및 기간 설정 (remove binlog mysql 8)

Nirsa 2021. 7. 16. 14:18
반응형
MySQL binlog 삭제 및 기간 설정 (remove binlog mysql 8)

MySQL binlog는 바이너리 로그로써 특정 기간을 정해주지 않으면 계속해서 쌓입니다. 용량 관리를 위해 바이너리 로그를 백업 또는 삭제를 주기적으로 될 수 있도록 해주어야 합니다.

※ 바이너리 로그란?
MySQL 서버의 DDL, DML을 통해 수정, 업데이트 등을 진행했을 때 변화된 이벤트를 기록하는 이진 파일 입니다. 해당 파일은 일반적으로 replication 구성 또는 특정 시점으로의 복원할 때 사용 됩니다.

 

1. 바이너리 로그 조회 및 삭제

아래 명령어를 사용하여 바이너리 로그 조회 및 삭제를 할 수 있습니다.

# binary log 조회
show binary logs;

# binlog.000004 이전 binary log 삭제
purge master logs to 'binlog.000004';

 

2. 바이너리 로그 보관 기간 설정

MySQL 8버전 부터 expire_logs_days가 아닌, binlog_expire_logs_seconds로 사용하게 됩니다. 일 단위 기준으로 보관 기간을 설정할 수 있었지만 이제 초단위로 사용을 할 수 있도록 되었습니다.

default 값은 2592000으로 30일 이며 최대값은 4294967295으로 136년(!) 입니다.

# binary log 보관 주기 조회
show global variables like 'binlog_expire_logs_seconds';

# binary log 보관 주기 설정
## 604800 = 일주일
set global binlog_expire_logs_seconds=604800;
반응형