Bin Log가 쌓이게 되면 디스크가 증가하기에 이에 대해서 방안을 파이썬으로 지우는 스크립트를 분석하면서
이와 관련된 블로그 찾아서 포워딩해 본다
우리 회사에서는 아래와 같은 쿼리를 사용한다
PURGE MASTER LOGS TO '%s'
%s 에는 binlog의 번호를 확인한다.(파일에서 ls 로 확인)
하지만 서버에서도 확인이 가능하다.
show master logs;
알아서 정렬되어 나오며, 특정 번호를 선정하면 그 하위 번호까지 모두 삭제가 된다.
ex) mysql> purge master logs to 'mysql-bin.001000';
지정된 바이너리 로그 이하의 파일이 삭제됨.
mysql-bin.000001~0000999 까지 삭제됨.
참조 : http://www.ischo.net/mysql/2875
MySQL Binary Log 는 add, delete, insert, update 등의 query 가 저장되어 있는 파일로서 MySQL 을 설치하게 되면 기본적으로 MySQL Binary Log 가 생성됩니다.
Binary Log 를 쌓지 않아도 되는 MySQL 구동 환경에서는 Binary Log 를 삭제하므로, 디스크 공간
여유 공간을 확보할 수 있는데, MySQL Binary Log 를 지우는 방법에 대해서 알아보겠습니다.
1. MySQL Replication 환경에서 지우기
- MySQL Replication MASTER 서버
shell> mysql -u root -p
mysql> RESET MASTER;
- MySQL Replication SLAVE 서버
shell> mysql -u root -p
mysql> RESET MASTER;
2. MySQL Binary Log sequence number 또는 특정 일자로 지우기
shell> mysql -u root -p
mysql> PURGE BINARY LOGS TO 'mysql-bin.000015';
shell> mysql -u root -p
mysql> PURGE BINARY LOGS BEFORE '2009-05-01 00:00:00';
3. mysqladmin flush-logs 명령어를 통해서 MySQL Binary Log 지우기
shell> mysqladmin -u root -p flush-logs
4. MySQL Binary Log 생성을 방지하는 방법
/etc/my.cnf 파일에서 아래 라인을 주석 처리
log-bin
5. MySQL Binary Log 를 특정 1주일까지만 생성 및 보관하기
/etc/my.cnf 파일에서 아래 라인을 추가
expire_logs_days = 7
'MySQL' 카테고리의 다른 글
[MySQL][펌] Mysql Replication 으로 분산처리 하기 (0) | 2016.07.01 |
---|---|
[MySQL] Group by 와 Distinct 의 성능 (Using filesort) (0) | 2016.06.21 |
[MySQL]5.6.31 source 설치 (3) - 완료 (0) | 2016.06.15 |
[MySQL]5.6.31 source 설치 (2) (0) | 2016.06.14 |
[MySQL]5.6.31 source 설치 (0) | 2016.06.13 |