ticdc增量同步到mysql问题

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】
tidb 同步数据库增量同步到mysql
tidb-dump → tidb-lightning → tidb-ticdc模式
增量同步创建任务报错:
[CDC:ErrMetaListDatabases][tikv:9006]GC life time is shorter than transaction duration, transaction starts at
查看是更改 mysql.tidb 这个表里有个tikv_gc_run_interval 记录
我们dump+lightning 数据量比较大,2天+
现在是需要把tikv_gc_run_interval 时间修改为2天+之后重新走tidb-dump → tidb-lightning → tidb-ticdc 这个流程么?
以前是默认的10min,是不是备份导入的Pos 是不是不能用了

是的,要改下 tidb_gc_life_time 重新迁移, 可以在迁移期间暂时调整到3天,不过记得调整回来啊。

1 个赞

另外一种思路是,搭建多个 changefeed 分批迁移,这样将大表单独来搞,tidb_gc_life_time 就可以设置的短一些了。 我们线上保留的是 24h,目前没发现什么问题。

2 个赞

tikv_gc_run_interval 这个必须调整,必须大于你的回复时间。才能进行增量,其实和mysql主从一样,备库所需的binlog在主库已经没有了的话,是没办法继续同步的。

gc时间调大吧,不过内存可能也占用更多,也调大

需要把gc调大,注意空间使用情况。