我的主从都是开启的gtid,同步正常,只有在transactionend的时候会有事务id,其它时候无法获取到gtid和事务id
原提问者GitHub用户282857484
gtid的获取方式你看过example代码了吗?在扩展属性字段里 需要开启canal gtid的订阅
原回答者GitHub用户agapple
从您提供的信息来看,可能是因为在主数据库上的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;
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。