0

我在主/从复制中使用 Debian 9 下的 MariaDB 10.2.10。我遇到了复制问题,因为从属设备由于 1062 重复键错误而拒绝复制。

查了很久才发现,master的binlog中有两次相同的INSERT语句。它以基于语句和行的格式编写。binlog_format 设置为 MIXED。

我查看了一般日志 - INSERT 语句只提交了一次。

这是mysqlbinlog的输出:

# at 11481089
#171205 10:22:37 server id 126  end_log_pos 11481132 CRC32 0x73b0f77c   
                 Write_rows: table id 22683990 flags: STMT_END_F
### INSERT INTO `mydb`.`document_reference`
### SET
###   @1=30561
###   @2=6
###   @3=0

# at 11481132
#171205 10:22:37 server id 126  end_log_pos 11481387 CRC32 0x599e2b04       
                 Query   thread_id=3282752       exec_time=0     error_code=0
SET TIMESTAMP=1512465757/*!*/;
INSERT INTO document_reference 
(document_reference_document_id, document_reference_type, document_reference_value) 
VALUES (30561, "single", 0)
/*!*/;
# at 11481387
#171205 10:22:37 server id 126  end_log_pos 11481418 CRC32 0x73fe1166   Xid = 248234294
COMMIT/*!*/;

任何人都有一个想法,为什么这个语句被写入binlog两次?

4

0 回答 0