canal.log日志报错

canal
canal.log日志:
2022-01-17 10:52:33.236 [destination = evwork , address = /172.16.4.100:3309 , EventParser] WARN  com.taobao.tddl.dbsync.binlog.CharsetConversion - Unexpect mysql charset: 246
2022-01-17 10:52:33.236 [destination = evwork , address = /172.16.4.100:3309 , EventParser] WARN  com.taobao.tddl.dbsync.binlog.LogEvent - unsupported character set in query log:
    ID = 246, Charset = null, Collation = null
2022-01-17 10:52:33.454 [destination = evwork , address = /172.16.4.100:3309 , EventParser] WARN  c.a.o.c.p.inbound.mysql.rds.RdsBinlogEventParserProxy - find start position : EntryPosition[included=false,journalName=mysql-bin.004129,position=12625537,serverId=10,gtid=<null>,timestamp=1642387953000]
2022-01-17 10:52:33.459 [destination = evwork , address = /172.16.4.100:3309 , EventParser] ERROR c.a.o.canal.parse.inbound.mysql.dbsync.DirectLogFetcher - I/O error while reading from client socket
java.io.IOException: Received error packet: errno = 1236, sqlstate = HY000 errmsg = The slave is connecting using CHANGE MASTER TO MASTER_AUTO_POSITION = 1, but the master has purged binary logs containing GTIDs that the slave requires.
        at com.alibaba.otter.canal.parse.inbound.mysql.dbsync.DirectLogFetcher.fetch(DirectLogFetcher.java:102) ~[canal.parse-1.1.1.jar:na]
        at com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.dump(MysqlConnection.java:243) [canal.parse-1.1.1.jar:na]
        at com.alibaba.otter.canal.parse.inbound.AbstractEventParser$3.run(AbstractEventParser.java:245) [canal.parse-1.1.1.jar:na]
        at java.lang.Thread.run(Thread.java:748) [na:1.8.0_181]
2022-01-17 10:52:33.459 [destination = evwork , address = /172.16.4.100:3309 , EventParser] ERROR c.a.o.c.p.inbound.mysql.rds.RdsBinlogEventParserProxy - dump address /172.16.4.100:3309 has an error, retrying. caused by
java.io.IOException: Received error packet: errno = 1236, sqlstate = HY000 errmsg = The slave is connecting using CHANGE MASTER TO MASTER_AUTO_POSITION = 1, but the master has purged binary logs containing GTIDs that the slave requires.
        at com.alibaba.otter.canal.parse.inbound.mysql.dbsync.DirectLogFetcher.fetch(DirectLogFetcher.java:102) ~[canal.parse-1.1.1.jar:na]
        at com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.dump(MysqlConnection.java:243) ~[canal.parse-1.1.1.jar:na]
        at com.alibaba.otter.canal.parse.inbound.AbstractEventParser$3.run(AbstractEventParser.java:245) ~[canal.parse-1.1.1.jar:na]
        at java.lang.Thread.run(Thread.java:748) [na:1.8.0_181]
2022-01-17 10:52:33.459 [destination = evwork , address = /172.16.4.100:3309 , EventParser] ERROR com.alibaba.otter.canal.common.alarm.LogAlarmHandler - destination:evwork[java.io.IOException: Received error packet: errno = 1236, sqlstate = HY000 errmsg = The slave is connecting using CHANGE MASTER TO MASTER_AUTO_POSITION = 1, but the master has purged binary logs containing GTIDs that the slave requires.
        at com.alibaba.otter.canal.parse.inbound.mysql.dbsync.DirectLogFetcher.fetch(DirectLogFetcher.java:102)
        at com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.dump(MysqlConnection.java:243)
        at com.alibaba.otter.canal.parse.inbound.AbstractEventParser$3.run(AbstractEventParser.java:245)
        at java.lang.Thread.run(Thread.java:748)
]

运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

这个问题很简单,应该用的是GTID复制,说直白一点,
因为主库又expire_log_days的存在,所以只会保留最近几天的数据(看你自己的设置)
所以canal伪装slave去拉取binlog的时候,可能由于你的位点太老了,导致找不到binlog同步开始位点。
不知道能不能解决你的问题