2

This morning, I had the following event:

200310 9:54:57 [ERROR] Slave SQL: Could not execute Update_rows event on table Call_Center_Infinit.queue_member_table; Corrupted replication event was detected, Error_code: 1610; Corrupted replication event was detected, Error_code: 1610; handler error No Error!; the event's master log log TN-TX-DB03-bin.000972, end_log_pos 551613719, Error_code: 1610.

I ran mysqlbinlog --base64-output=DECODE-ROWS -vv log TN-TX-DB03-bin.000972 and search "end_log_pos 551613719" using vi, I found the following:

#200310  9:54:57 server id 6  end_log_pos 551611999     Query   thread_id=2180761724    exec_time=0     error_code=0
SET TIMESTAMP=1583855697/*!*/;
BEGIN
/*!*/;
# at 551611999
# at 551612137
# at 551612227
# at 551612741
# at 551613719

#200310  9:54:57 server id 6  end_log_pos 551612137     Table_map: `Call_Center_Infinit`.`Agentes` mapped to number 1089
#200310  9:54:57 server id 6  end_log_pos 551612227     Table_map: `Call_Center_Infinit`.`queue_member_table` mapped to number 1140
#200310  9:54:57 server id 6  end_log_pos 551612741     Update_rows: table id 1089
#200310  9:54:57 server id 6  end_log_pos 551613719     Update_rows: table id 1140

### UPDATE `Call_Center_Infinit`.`queue_member_table`
### WHERE
###   @1=189482 /* INT meta=0 nullable=0 is_null=0 */
###   @2=NULL /* INT meta=0 nullable=1 is_null=1 */
###   @3=52984 /* INT meta=0 nullable=1 is_null=0 */
###   @4=53740 /* INT meta=0 nullable=1 is_null=0 */
###   @5='53740' /* VARSTRING(40) meta=40 nullable=1 is_null=0 */
###   @6='52984' /* VARSTRING(128) meta=128 nullable=1 is_null=0 */
###   @7='Agent/53740' /* VARSTRING(128) meta=128 nullable=1 is_null=0 */
###   @8=NULL /* VARSTRING(128) meta=0 nullable=1 is_null=1 */
###   @9=0 /* INT meta=0 nullable=1 is_null=0 */
###   @10='' /* VARSTRING(80) meta=80 nullable=0 is_null=0 */
### SET
###   @1=189482 /* INT meta=0 nullable=0 is_null=0 */
###   @2=NULL /* INT meta=0 nullable=1 is_null=1 */
###   @3=52984 /* INT meta=0 nullable=1 is_null=0 */
###   @4=53740 /* INT meta=0 nullable=1 is_null=0 */
###   @5='53740' /* VARSTRING(40) meta=40 nullable=1 is_null=0 */
###   @6='52984' /* VARSTRING(128) meta=128 nullable=1 is_null=0 */
###   @7='Agent/53740' /* VARSTRING(128) meta=128 nullable=1 is_null=0 */
###   @8=NULL /* VARSTRING(128) meta=0 nullable=1 is_null=1 */
###   @9=1 /* INT meta=0 nullable=1 is_null=0 */
###   @10='' /* VARSTRING(80) meta=80 nullable=0 is_null=0 */

according to me, from here is stopped replica

4
  • Any particular reason you're still running a 10 year old verson of MySQL?
    – mustaccio
    Commented Mar 11, 2020 at 0:44
  • because of the code of the application that is tied to MySQL 5.5 and the developers do not want to move it to the code because it works well in this version Commented Mar 11, 2020 at 0:51
  • Is this at the end of a file? What is the file size? Did the server run out of space at the point this was being writing? BTW don't take excuses from developers, your maintainability needs are important too.
    – danblack
    Commented Mar 11, 2020 at 0:57
  • No, the binlog was rotated by a developer when grafana launched a notification about error descrited above, the file should weigh 1.1G and the file reached 706M, no was the end of file, there are more sentences below. I dont take excuses but has been my argue with them about upgrade mysql server in all the meetings because lastly has been stable the platform with some changes I have done in the database server, many tables without indexes, duplicated indexes Commented Mar 11, 2020 at 1:19

2 Answers 2

1

You can try to identify the event which is causing an issue.

use mysqlbinlog utility to help you identify the problem.

mysqlbinlog TN-TX-DB03-bin.000972

You can also skip the event. Run this command on the slave server:

STOP SLAVE;
SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;  -- Adjust the counter as needed
START SLAVE;

however, it's risky doing this, since there might be data inconsistency

0

How was the "rotation" done? Normally you should never need to "rotate the binlog". 1.1G is normal when max_binlog_size is 1G; it overshoots, then automatically rotates.

You could change that setting to 100M with no harm. That will cause for frequent rotation, and each file will be about 100MB.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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