오늘의 주제는 “MySQL 바이너리 로그” 입니다.
MySQL에서 빈로그 혹은 바이너리 로그라고 불리는 로그 파일은 DDL & DML
명령문을 통해서 데이터의 변화가 발생할 경우 해당 이벤트를 기록하는 로그 파일입니다.
바이너리 로그 파일은 기본적으로 Transaction Commit
시점에 기록되며, 데이터 변경 순서를 보장해줍니다.
주로 복제(Replication) & 복구(Recovery) 를 목적으로 사용되며
데이터 복제 시에는 Master 서버에서 바이너리 로그 파일을 Slave 서버로 전달하고,
Slave 서버에서는 전달받은 바이너리 로그 파일을 읽어 Master 서버와 데이터를 동기화를 진행합니다.
오늘은 MySQL에서 사용하는 바이너리 로그에는 다양한 로그 작성 방식을 알아보려 합니다.
(INSERT, UPDATE, DELETE)
문을 바이너리 로그에 저장(INSERT, UPDATE, DELETE)
문에 의해 개별 테이블 행이 어떻게 영향을 받는지를 로그에 저장💡 MySQL에서 바이너리 로그 파일을 기록하는 방식은 위에세 소개한 3가지 방식이 있습니다.
Row-based logging 방식이 MySQL 의 표준으로 제공되고 있지만,
각각의 방식에 장단점이 존재하기 때문에 자신의 상황에 맞는 기록 방식을 사용하는 것이 가장 바람직하다고 볼 수 있을 것 같습니다.