My slave machine reset and now on SLAVE SHOW STATUS\G I have the error:

Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Client requested master to start replication from position > file size'

The slave settings are showing as:

Master_Log_File: bin.003767
Read_Master_Log_Pos: 751854814
Relay_Log_File: mysql-relay-bin.000001
Relay_Log_Pos: 4
Relay_Master_Log_File: bin.003767
Slave_IO_Running: No
Slave_SQL_Running: Yes

However the relay-bin files on the slave are: mysql-relay-bin.000001 with 1KB in size. The Master on the other hand has the files: bin.003767 at over 700 megs. But no relay files are being updated or copied to the slave.

Is there any way to resolve this without a full data synchronization from beginning? It takes days to achieve this.

Does anyone know what the issue is here?

Much appreciated!

  • Update: I have run: stop slave; reset slave; change master to master_log_file='bin.003767', master_log_pos=4; start slave; and 'seems' like the replication has started again. I am not sure of the success and will monitor it. – Dug Jan 19 '20 at 20:52
  • The file and position used should be derived from the consistent snapshot where the backup was taken, before replication started. – danblack Jan 19 '20 at 22:09

To avoid the problem in the future, turn on sync_binlog.

What is happening is that the replication stream had not yet gotten to the Slave when the Master shutdown. The offset into the binlog had been bumped up, but the data was not on the Slave.

After coming up, move to the next binlog and set the position to 0 (or 4, either one works).


It seems that setting the position to 4 (master_log_pos=4) has reignited the sync.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.