开发者社区 问答 正文

GTID无法获取到

提问335.jpeg

我的主从都是开启的gtid,同步正常,只有在transactionend的时候会有事务id,其它时候无法获取到gtid和事务id

原提问者GitHub用户282857484

展开
收起
绿子直子 2023-05-09 08:13:09 95 分享 版权
2 条回答
写回答
取消 提交回答
  • gtid的获取方式你看过example代码了吗?在扩展属性字段里 需要开启canal gtid的订阅

    原回答者GitHub用户agapple

    2023-05-09 19:38:55
    赞同 展开评论
  • 从您提供的信息来看,可能是因为在主数据库上的GTID已经被清除或者未正确设置GTID模式。请确保在主数据库上正确设置GTID模式,并检查主数据库上的binlog是否包含GTID信息。您可以使用以下命令检查主从数据库上的GTID设置:

    在主库上执行以下命令:

    show global variables like 'gtid_mode';
    

    在从库上执行以下命令:

    show slave status\G
    

    请确保在主数据库和从数据库上都设置了正确的GTID模式,并且从数据库已经正确的同步了主数据库的binlog。如果仍然无法获取到GTID信息,请检查您的应用程序是否正确处理了GTID信息。您可以在应用程序中使用以下语句获取当前事务的GTID:

    SELECT @@GLOBAL.GTID_EXECUTED;
    
    2023-05-09 08:58:01
    赞同 展开评论
问答地址: