MySQL binlog 사이즈(기한) 제한

, ,

binlog는 binary log로 리플리케이션과 데이터 복구에 사용한다. 우분투 MySQL은 기본적으로 30일치를 보관하는데, 용량이 꽤 된다. 용량이 작은 서버에선 부담이 된다.

설정에서 보관 기한을 제한해 사이즈를 줄일 수 있다. 로그 사이즈를 직접 설정할 수는 없다.

우분투라면 /etc/mysql/mysql.conf.d/mysqld.cnf에 아래 줄을 추가한다(기본 파일에 주석처리돼 있는 게 있을 수 있다).

# 7일치 보관
binlog_expire_logs_seconds = 604800

MySQL을 재시작하면 적용된다. 이미 있던 파일도 삭제된다.

sudo systemctl restart mysql

참고

개별 로그 파일의 용량을 제한할 수 있는데 이건 전체 로그의 용량과는 무관한 설정값이다.

# 로그 파일 하나당 사이즈를 100MB로 제한. 최댓값은 1G다.
# 전체 로그 사이즈를 제한하는 설정은 없다.
max_binlog_size = 100M

expire_logs_days라는 날짜 단위 설정값도 있는데 향후에 없어질 속성이다(deprecated).

ChatGPT와 Bard는 max_binlog_files라는 설정 속성이 있어서 사이즈와 함께 사용할 수 있다고 주장하는데 그런 건 없다.

카테고리 글 목록 👉

, ,

대표글

댓글 남기기