上游binlog获取不到,code=30015

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • 【TiDB 版本】:3.0.9
  • 【DM版本】:v1.0.5 Git Commit Hash: a8e9f53f91e29756b09a22cdc37a6a6efcdfe55b
    主要错误
    code=30015:class=relay-unit:scope=upstream:level=high] TCPReader get relay event with error: ERROR 1236 (HY000): 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

binlog我已经手动下载到relay_log目录,倒数第二个为mysql-bin.024354,现在想直接从最新拉取,mysql-bin.024355,修改了"relay.meta"为最新的binlog,pos与gtid为初始位置,但拉取依旧提示30015。

welcom.txt (11.3 KB)

我们也碰到类似问题 等待官方大大解决吧 之前群里问没有回复

是吧上游MySQL文件直接放到relaylog中了吗?dm是需要转化的,可以把日志放到上游MySQL目录由dm自动拉取

把上游binlog放到relaylog中了,dm自动拉binlog还需要转换后再储存到relaylog吗?
我现在想自动拉最新到binlog应该怎么修改relay.meta呢?修改了"relay.meta"为最新的binlog,pos与gtid为初始位置,但拉取依旧提示30015

您好,请问下您这边具体修改步骤是怎样的?可以按照以下方式操作下:

  • 停止 dm-worker
  • 删除 relay-log 目录(则拉取 binlog 时会从 inventory 中记录的位点开始拉取)或者 修改 relay.meta 文件中的位点,从指定位点开始拉取上游 binlog
  • 启动 dm-worker
    • :warning:注意顺序,如操作顺序先修改 relay.meta,重启 dm-worker,该操作错误,原 gtid 信息会将 修改的 gtid 信息覆盖掉。

我的步骤是 停了dm-worker, 然后修改relay.meta,通过show BINLOG EVENTs in 找到Previous_gtids的值当作gitd,但是启动dm-worker后依旧33015

确认下您这边找到的 gtid 是否在上游有被 purge 掉。

确定还存在。没有purge

解决了,但不是用你的方法,可以在哪里分享一下

直接在帖子中回复解决方案就可以的。另外建议标记为解决方案。另外有时间的话可以整理下问题以及解决方法,另开新帖分享处理问题的过程都可以哈。

好的~

可以在经验教程分享一下,多谢。
image