MariaDB 10.5主从同步正常但主从GTID不一致问题咨询
关于MariaDB 10.5主从GTID数值差异问题解答
现象判定
你观察到的GTID差异不属于标准主从复制的正常行为,核心根因为两条GTID对应的事务本身就不是同一个事务,仅SQL内容完全一致。
核心原因说明
- 从你贴出的binlog事件可以明确区分:主库INSERT事务对应的commit xid为
723331,从库同内容INSERT事务的commit xid为6071,xid是InnoDB事务的唯一标识,二者不同说明是两次独立执行的写入操作,不是主从同步过来的同一个事务。 - 你当前主从复制状态正常的原因:当前复制链路实际是基于binlog位点同步,
show slave status输出中Exec_Master_Log_Pos与Read_Master_Log_Pos数值一致,Seconds_Behind_Master为0,说明IO线程已拉取完主库所有binlog、SQL线程已执行完所有 relay log,位点同步无异常,GTID差异暂时不影响位点模式的复制。
对后续CHANGE MASTER TO操作的影响
如果后续切换为GTID模式执行CHANGE MASTER TO,只要提前确认主从数据完全一致,不会出现异常:
- 若使用
MASTER_USE_GTID=Slave_Pos参数,从库会自动校验本地已执行的GTID集合,只拉取主库中本地未执行的GTID事务,不会出现重复执行或事务遗漏的问题。
建议排查项
- 确认从库是否开启了
read_only=ON和super_read_only=ON,避免业务侧直接写入从库生成独立的GTID事务。 - 核对从库
gtid_slave_pos参数值,确认SQL线程实际已执行完成的最新GTID位置。 - 检查主库GTID 0-1-557279对应的事务内容,确认该事务是否被过滤或未正常同步到从库执行。
内容的提问来源于stack exchange,提问作者Ali Sarbanha
相关产品推荐
相关产品推荐

