Mysql replication error: Relay log read failure: Could not parse relay log event entry

Relay log read failure: Could not parse relay log event entry

This error is happening due to the corrupted relay binlogs. We can see this error on checking the status of the slave.

>SHOW SLAVE STATUS \G;

************************** 1. row ***************************

           Slave_IO_State: Waiting for master to send event
              Master_Host: 192.168.10.16
              Master_User: replicator
              Master_Port: 3306
            Connect_Retry: 60
          Master_Log_File: mysql-bin.001274
      Read_Master_Log_Pos: 1045327404
           Relay_Log_File: 3_dbbackup.003821
            Relay_Log_Pos: 617884398
    Relay_Master_Log_File: mysql-bin.001273
         Slave_IO_Running: Yes
        Slave_SQL_Running: No
          Replicate_Do_DB: 
      Replicate_Ignore_DB: 
       Replicate_Do_Table: 
    Replicate_Ignore_Table: 
    Replicate_Wild_Do_Table: 
    Replicate_Wild_Ignore_Table: 
               Last_Errno: 1562
               Last_Error: Relay log read failure: Could not parse relay log event entry. The possible reasons are: the master's binary log is corrupted (you can check this by running 'mysqlbinlog' on the binary log), the slave's relay log is corrupted (you can check this by running 'mysqlbinlog' on the relay log), a network problem, or a bug in the master's or slave's MySQL code. If you want to check the master's binary log or slave's relay log, you will be able to know their names by issuing 'SHOW SLAVE STATUS' on this slave.
             Skip_Counter: 0
      Exec_Master_Log_Pos: 617884110
          Relay_Log_Space: 3192816253
          Until_Condition: None
           Until_Log_File: 
            Until_Log_Pos: 0
       Master_SSL_Allowed: No
       Master_SSL_CA_File: 
       Master_SSL_CA_Path: 
          Master_SSL_Cert: 
        Master_SSL_Cipher: 
           Master_SSL_Key: 
    Seconds_Behind_Master: NULL
Master_SSL_Verify_Server_Cert: No
            Last_IO_Errno: 0
            Last_IO_Error: 
           Last_SQL_Errno: 1562
           Last_SQL_Error: Relay log read failure: Could not parse relay log event entry. The possible reasons are: the master's binary log is corrupted (you can check this by running 'mysqlbinlog' on the binary log), the slave's relay log is corrupted (you can check this by running 'mysqlbinlog' on the relay log), a network problem, or a bug in the master's or slave's MySQL code. If you want to check the master's binary log or slave's relay log, you will be able to know their names by issuing 'SHOW SLAVE STATUS' on this slave.
        Replicate_Ignore_Server_Ids: 
         Master_Server_Id: 1
           Master_SSL_Crl: 
        Master_SSL_Crlpath: 
               Using_Gtid: No
              Gtid_IO_Pos: 
        Replicate_Do_Domain_Ids: 
        Replicate_Ignore_Domain_Ids: 
            Parallel_Mode: conservative

Please note the values of Relay_Master_Log_File and Exec_Master_Log_Pos from the above result as its required to restart the slave properly. The following steps can be used to solve the problem.

Step1: Stop the slave.

>STOP SLAVE;

Step2: Update the values of Relay_Master_Log_File and Exec_Master_Log_Pos.

>CHANGE MASTER TO master_log_file='mysql-bin.001273', master_log_pos=617884110;

Please replace the values in the command accordingly.

Step3: Start the slave.

>START SLAVE;

Now the slave will starts working. Please note that there might be a dekay in replication initially. This will gradually reduced and reach "Seconds_Behind_Master: 0" in few minutes.

That's all…

Leave a Reply

Your email address will not be published. Required fields are marked *