Canal监听阿里云RDS Mysql中间的坑
canal下载安装,mysql binlog开启常规操作,照着github上的指导就完事了
1)需要保证账号有如下权限,让管理员大大开一下,否则报权限错误
grant select, replication slave,replication client on . to ‘你的账号’@’%’;
2)canal停了一段时间重启需要删掉instance.properties文件所在目录中的meta.dat文件,因为阿里云的bin_log很快就会被清理掉,canal找不到meta.dat的老信息了
3)canal client指定的 destination会把instance.propertires里面的参数给覆盖,记得看下
出现如下代码还消费不到,感觉基本成功在望了
2021-09-02 16:04:58.423 [destination = example2 , address = rm-uf6l2rykn24v449mwjo.mysql.rds.aliyuncs.com/8.133.0.70:1404 , EventParser] WARN c.a.o.c.p.inbound.mysql.rds.RdsBinlogEventParserProxy - prepare to find start position just show master status
最后发现是代码问题,example二次覆盖了!
4)需要看canal 的 log, destination的log
光看destination下面的log不顶事,都看着点
咳咳,通了
5)主备切换,日志清理的影响还需要探究