mysql bin log, 스케쥴러에 사용
실시간 데이터 변경 감지 방식
MySQL의 **Binary Log(Binlog)**는 데이터베이스 변경 사항을 기록합니다. 이를 활용하여 실시간으로 데이터 변경을 감지할 수 있습니다.
Binlog Listener 사용
도구
• Debezium: Kafka 기반 CDC 도구로 Binlog를 읽어 이벤트를 생성합니다.
• Maxwell: MySQL Binlog를 읽어 JSON 메시지를 생성하고 메시지 큐로 전달합니다.
실제 시행
- 도구를 사용하기보다, mysql bin 로그 사용하여 처리할 예정
mysql 설정파일 /etc/mysql/mysql.conf.d/mysqld.cnf
sudo systemctl restart mysql
[mysqld]
# Binlog 활성화
log-bin = /var/lib/mysql/mysql-bin
# Binlog 포맷 (ROW, STATEMENT, MIXED 중 선택)
binlog_format = ROW
# 고유한 서버 ID 설정 (Replication을 사용하는 경우 필수)
server-id = 1
# Binlog 보존 기간 (7일 동안 보관)
expire_logs_days = 7
# 개별 Binlog 파일 크기 제한 (100MB)
max_binlog_size = 100M
# 필요한 경우 Binlog 압축 활성화 (MySQL 8.0+)
binlog_compression = ON
# 트랜잭션 당 Binlog 기록 여부 (MySQL 8.0+)
sync_binlog = 1
Log 설정확인
SHOW VARIABLES LIKE 'log_bin';
SHOW VARIABLES LIKE 'binlog_format';
SHOW BINARY LOGS;


