Skip to the content.

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 파일과 포지션을 따라가지 못함

  1. 해당 바이너리 파일과 초기 포지션으로 다시 리플리케이션 시작
     STOP SLAVE;
     CHANGE MASTER TO MASTER_LOG_FILE='binary_log.000000', MASTER_LOG_POS=0;
     START SLAVE;
    
  2. 데이터 정합성에 문제가 있다면 SKIP으로 한개씩 진행
     --SKIP을 하기 위해선 슬레이브 정지, 재시작이 필요하기 때문에 밑의 쿼리를 한 번에 복사해서 실행
     STOP SLAVE; SET GLOBAL sql_slave_skip_counter = 1; START SLAVE;
    
  3. 위의 사항을 수행했음에도 불구하고 데이터 정합성이나 문제가 발생한다면 마스터 데이터 덤프 후 복원

  4. 또한 마스터의 sync_binlog 옵션이 1로 설정되어있는지 확인. 관련 내용은 문서 참조