开发者社区> 问答> 正文

GTID无法获取到

提问335.jpeg

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

原提问者GitHub用户282857484

展开
收起
绿子直子 2023-05-09 08:13:09 69 0
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
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载