Got fatal error 1236 from master when reading data from binary log: ‘Client requested master to start replication from position > file size; the first event ‘binary_log.000000’ at 000000000, the last event read from ‘/directory_name/log/binary_log.000000’ at 4, the last byte read from ‘/directory_name/log/binary_log.000000’ at 4.’
슬레이브에서 마스터의 Binary log 파일과 포지션을 따라가지 못함
- 해당 바이너리 파일과 초기 포지션으로 다시 리플리케이션 시작
STOP SLAVE; CHANGE MASTER TO MASTER_LOG_FILE='binary_log.000000', MASTER_LOG_POS=0; START SLAVE;
- 데이터 정합성에 문제가 있다면 SKIP으로 한개씩 진행
--SKIP을 하기 위해선 슬레이브 정지, 재시작이 필요하기 때문에 밑의 쿼리를 한 번에 복사해서 실행 STOP SLAVE; SET GLOBAL sql_slave_skip_counter = 1; START SLAVE;
-
위의 사항을 수행했음에도 불구하고 데이터 정합성이나 문제가 발생한다면 마스터 데이터 덤프 후 복원
- 또한 마스터의
sync_binlog
옵션이 1로 설정되어있는지 확인. 관련 내용은 문서 참조