MySQL 로그

TaeYeong Jeong·2022년 6월 13일
0

database

목록 보기
1/1

MySQL General 로그 정보 조회

general_log가 OFF 이면 set global general_log=ON 명령으로 General log를 활성화 한다.

그리고 general_log_file 위치에서 해당 파일을 열면 로그를 확인할 수 있다.

Binlog(Binary log)

백업은 기본이다. 그러나 혹시 백업이 존재하지 않는 DB에서 작업을 하다가 실수를 할 수도 있다.

이럴 때 bin log가 있으면 복구가 가능하다. bin log 마저 없으면 깔끔하게 포기하자.

Binlog 조회 방법

먼저 MySQL Data가 쌓이는 디렉터리에서 Binlog가 얼마나 쌓였는지 확인한다.

MySQL 내에서도 show binary logs 명령으로 Binlog를 조회할 수 있다.

보고 싶은 Binlog가 있다면

mysqlbinlog [bin_log_file_name] 명령어를 사용하면 볼 수 있다.

txt 파일로 만들어서 보고싶으면 mysql [bin_log_file_name] > [text_file_name]을 입력하면 된다.

Binlog 삭제

용량이 부족해 Binlog를 삭제해야 할 때, 해당 디렉터리에서 바로 삭제를 하게 되면 문제가 발생할 수 있어 꼭 MySQL 내부에서 삭제 명령어를 통해 삭제해야 한다.

명령어는 purge master logs to '[bin_log_file_name]'이다. 이때 주의할 점은 bin_log_file_name에 입력한 파일 '이전'의 파일들이 모두 삭제된다.

purge master logs to 'binlog.000018' 명령어를 실행했고, binlog.000018이전의 파일인 binlog.000016, binlog.00017이 삭제되었다.

Binlog 보관 기간

위의 방법과 같이 용량이 부족할 때마다 Binlog를 삭제해도 되지만, 보관 기간을 설정해서 해당 기간 동안만 Binlog가 남도록 설정할 수도 있다.

show global variables like 'binlog_expire%' 명령으로 Binlog 보관 기간 조회할 수 있다.

보관 기간은 초 단위로 계산된다. 기본 설정 값은 2,592,000초(=30일)이다.

보관 기간을 3일로 설정하고 싶다면 set global binlog_expire_logs_seconds=259200 명령어를 실행하면 된다.

0개의 댓글