DB & AWS Knowledge
Binary log 개념 본문
728x90
반응형
- (출처 : https://dev.mysql.com/doc/refman/5.7/en/binary-log.html)
- 데이터 변동 내역 (DML, DDL 등을 통한 데이터 변동) 을 보관하는 파일이다. 통칭은 binlog 라고 줄여서 읽는다.
- Oracle, PostgreSQL 의 Archive 와 유사한 개념으로 대응하는 파일이다. 즉, 시점 복구에도 사용 되는 중요한 Log 파일이다.
- 또한 Replication 구성 시에는 Slave 서버가 데이터 동기화를 위해 참조하는 Log 파일이다. Replication 구성 시, 해당 Log 구성이 필수다.
2021.03.04 - [MySQL/Replication] - Replication 작동구조
- Oracle, PostgreSQL 의 Archive 와 유사한 개념으로 대응하는 파일이다. 즉, 시점 복구에도 사용 되는 중요한 Log 파일이다.
-
- Binary 와 같은 이름 처럼 실제 파일 내에 기록되는 내용은 이진 (binary) 형식으로 저장된다. 그렇기 때문에 여기서 텍스트형식으로 추출하려면 mysqlbinlog 기능을 사용해야 한다.
- Binary 와 같은 이름 처럼 실제 파일 내에 기록되는 내용은 이진 (binary) 형식으로 저장된다. 그렇기 때문에 여기서 텍스트형식으로 추출하려면 mysqlbinlog 기능을 사용해야 한다.
- DB의 파라미터를 구성하는 my.cnf 파일에서 설정 가능. --log-bin[=base_name] 으로 설정
- log-bin 기록 옵션은 동적 옵션이므로 DB console 에서도 동적 설정 가능 (bin log on off 는 재기동 필요)
- 예를 들어, binlog 과다 발생으로 인한 가용 데이터 용량등의 서버운영상의 이유로 bin-log 저장을 임시로 막고 싶으면 SET sql_log_bin=OFF 등의 옵션으로 설정가능
- mysqld 는 DB가 현재 읽어들인 bin-log 파일 리스트를 개별파일로 저장하는데 이 때, 이 개별파일 번호를 저장하는 파일이 있음. 이 보관함 파일 확장자는 .index임. --log-bin-index[=file_name] 옵션으로도 설정 가능
- 해당 파일을 오픈하면 기록된 binlog 파일 리스트를 확인 해 볼 수 있다, 운영중에 해당파일을 수정하면 DB 가 현재 읽어 들여야할 bin-log 번호를 인지하지 못하여 error 가 발생 할 수 있으므로 주의 해야함.
- 해당 파일을 오픈하면 기록된 binlog 파일 리스트를 확인 해 볼 수 있다, 운영중에 해당파일을 수정하면 DB 가 현재 읽어 들여야할 bin-log 번호를 인지하지 못하여 error 가 발생 할 수 있으므로 주의 해야함.
- Binlog 삭제는 Reset Master 또는 Purge 로 수행함
- 수동으로 DB 가 읽는중인 bin-log 파일을 삭제시, DB 가 읽어 들어야할 binlog 를 찾지못하여 재기동을 할 수가 없음. 장애 발생 원인 중 하나 이므로 주의 해야함.
- binlog 삭제 시에는 콘솔에서 show master status 로 해당 DB가 현재 읽어 들이는 binlog 파일 번호를 확인 후 삭제
- 수동으로 DB 가 읽는중인 bin-log 파일을 삭제시, DB 가 읽어 들어야할 binlog 를 찾지못하여 재기동을 할 수가 없음. 장애 발생 원인 중 하나 이므로 주의 해야함.
반응형
Comments