canal是阿里的mysql增量日志解析工具
canal成功启动后,只获取到TRANSACTIONBEGIN和TRANSACTIONEND两种EntryType。
将配置文件中canal.instance.filter.regex=.*\..*注释掉后就可以获取rowdata了,但是这个意思不是匹配全部表吗,有点不解
参考:https://github.com/alibaba/canal/wiki/AdminGuide

canal无法获取到数据
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
关注
引自免费微信小程序-皆我百晓生,希望对题主有所帮助,如有帮助,还望采纳。
如果你在使用canal时无法获取到数据,可以尝试以下步骤来解决问题:
检查canal的配置文件:确保配置文件中的canal.instance.filter.regex=.*..*没有被注释掉。这个配置项是用来匹配所有的表,如果被注释掉了,可能导致无法获取到数据。
检查MySQL的配置:确保MySQL的binlog模式是ROW模式。可以通过执行SHOW VARIABLES LIKE 'binlog_format';来查看当前的binlog模式,如果不是ROW模式,可以通过修改MySQL的配置文件来设置。
检查MySQL的权限:确保canal连接MySQL的用户具有足够的权限。可以尝试使用root用户连接MySQL,如果可以获取到数据,说明是权限的问题。
检查canal的日志:查看canal的日志文件,看是否有报错信息。可以通过查看日志来定位问题所在。
如果以上步骤都没有解决问题,可以尝试查阅canal的官方文档或者在相关的技术社区提问,寻求更多的帮助。
解决 无用评论 打赏 举报