Binlog报错异常退出

【 TiDB 使用环境`】测试环境
【 TiDB 版本】tidb3.0.0 tidb5.2.4
【遇到的问题】在上游集群进行建表操作后,发现下游集群binlog无同步,查看drainer显示异常退出,



在drainer服务器sudo systemctl restart drainer-8249.service

服务正常启动,但是报错依旧,drainer仍然退出。
想跳过该ddl操作,在dtainer.toml中添加ignore-txn-commit-ts,但是drainer.log中无该时间戳

在下游直接手动ddl执行。然后在重启drainer

1 个赞

我在上下游把新建的表删除了刚才,然后在drainer服务器上重启drainer,日志还是报同样的错,在tidb服务器上使用ansible-playbook 重启提示重启成功,实际状态还是没起来。


在drainer服务器重启后还是同样报错退出,麻烦看下

binlog版本是多少


你可以尝试把这个时间转换一下,然后在添加到ignore-txn-commit-ts 重启试试

麻烦问下这个时间怎么转换为时间戳

binlog是tidb v3.0.0自带的

SELECT
conv(
concat(
bin(
unix_timestamp(
‘2022-01-06 15:30:59.000000’
) * 1000
),
‘000000000000000001’
),
2,
10
);

自己替换一下

使用python转化后添加到drainer配置文件,重启drainer后还是退出:lying_face:


checkpoint-tso + 1 也设置忽略试试

还是不行,重启后drainer还是退出。

  1. 可以先找找这个对应的表 id 具体是什么?看看历史 job 是否有信息
  2. 如果是测试环境,或者确认表已经drop 等。
    停止drainer 然后将 savepoint 文件中的 schema-version 改成 0 再启动drainer 试试。
    一般在 data.drainer/savepoint 文件
1 个赞

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。