6

Our server had disk space problems. As a result, replication's IO Threads fails to start.

Here are the errors in mysql error log:

[Note] Slave I/O thread: connected to master 'user@host:3307',replication started in log 'mysql-bin.000030' at position 196820914

[ERROR] Slave I/O: Replication event checksum verification failed while reading from network. Error_code: 1743

[ERROR] Slave I/O: Relay log write failure: could not queue event from master, Error_code: 1595

How do I fix the problem?

8

Try resetting the relay logs as follows:

STOP SLAVE;
CHANGE MASTER TO master_log_file='mysql-bin.000030',master_log_pos=196820914;
START SLAVE;

This will erase all relay logs in the Slave, starting with a fresh one. It should start retrieving binlog events from the Master. If it fails again, then mysql-bin.000030 on the Master may be corrupt. In that event, you would have to set up replication from scratch by doing this:

  • Stop the DB Application
  • On the Master, RESET MASTER;
  • mysqldump the data from the Master
  • Load the mysqldump on the Slave
  • On the Slave, run STOP SLAVE;
  • On the Slave, run CHANGE MASTER TO master_log_file='mysql-bin.000001',master_log_pos=4;
  • On the Slave, run START SLAVE;

CAVEAT

Make sure the network connection is clear (with no dropped packets) between Master and Slave.

Give it a Try !!!

  • Thanks a lot! Worked perfectly! I had mysql-bin corrupted on the Master. – mvladk Apr 3 '14 at 0:27
  • CHANGE MASTER TO master_log_file='mysql-bin.000001',master_log_pos=4; is of course not generally correct - you need to adjust the log file name and log position for your needs. – David Jul 20 '17 at 10:51
  • @David you can use position 4 in all versions of MySQL back to at least 4.1 when doing non-GTID replication. See my November 2014 post where I discuss that (dba.stackexchange.com/questions/82998/…). Also, see how the MySQL 5.7 Documentation still uses it (dev.mysql.com/doc/refman/5.7/en/change-master-to.html). I have used it two days ago in a 5.7 setup without incident. Using positions from specific versions as works (dba.stackexchange.com/questions/12530/…) – RolandoMySQLDBA Jul 20 '17 at 11:11
  • STOP SLAVE: and START SLAVE: were enough to get it working again for me. Probably won't work in most cases but its worth a shot. – kagronick Sep 5 '18 at 13:51

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.