사이트 내 전체검색
PHP
MySQL - 바이너리 로그 관리. expire_logs_days = 3 ( 3일동안 보관 )
로빈아빠
https://cmd.kr/php/288 URL이 복사되었습니다.

본문

MySQL - 바이너리 로그 관리.

작성자: http://blog.naver.com/jamesdean017

 

Mysql 을 설치를 하게 되면 기본적으로 바이너리 로그가 쌓이게 된다.

 

사용자에 따라 바이너리 로그 기록을 원하는 사람도 있을거고 , 기록을 원치 않는 사람도 있을것이다.

 

하지만 난 이 바이너리 로그로 몇번 복구를 해 재미를 봤던 경험이 있어 무슨일이 있어도 바이너리 로그를 남기게 한다.

 

하지만 어느정도의 시간이 지나면 용량에 압박을 느낄것이다.

 

바이너리 로그를 최신 사항으로 유지하는것에 대해 찾아보기 시작했다.

 

첫번째 , /etc/my.cnf 파일에 로그 최대 보관일수를 정할수가 있었다.

 

[mysqld]

expire_logs_days = 3 ( 3일동안 보관 )

 

my.cnf 에 저 라인을 추가해주면 최근 3일만 유지를 하게 된다. 자동으로 지워지는지는 아직 확인을 안해봤다.

 

다음 방법으로는 logrotate 를 사용하는 방법이 있다.

 

mysql/share/mysql 디렉토리 안에 mysql-log-rotate 라는 스크립트를 자동으로 제공해준다.

 

이 파일로 로그를 순환 시켜주면 된다.

 

우선 mysql-log-rotate 파일을 /etc/logrotate.d 디렉토리로 복사를 한다.

 

/root/.my.cnf 라는 파일을 생성하여 자신의 데이터베이스 계정을 적어준다. 단, 루트만 읽을수 있는 권한을 줘야 한다.

 

누가 열어보기라도 하면.. ㅠㅠ

 

[mysqladmin]

password=패스워드

user=접속자

 

저 3 줄로 .my.cnf 파일을 생성해주면 된다.

 

사용자에 따라 mysql-log-rotate 스크립트를 수정해도 된다.

 

logrotate -f /etc/logrotate.d/mysql-log-rotate 로 로그테이블 실행

댓글목록

등록된 댓글이 없습니다.

PHP
871 (7/18P)

Search

Copyright © Cmd 명령어 3.137.223.169