Ticdc的同步可以设定的最早的开始时间是什么时候

新建的ticdc任务做同步最早可以从什么时候开始,假如我一周前建了个表,现在想用ticdc做备份,可以设定最早开始的时间是什么,是只能从上次垃圾回收的时候还是可以从建表开始

1 个赞

start-ts 的值需要大于 TiDB 集群当前的 tikv_gc_safe_point ,否则创建任务时会报错。

可以通过下面命令查询具体时间:

SELECT HIGH_PRIORITY variable_value FROM mysql.tidb WHERE variable_name='tikv_gc_safe_point';

1 个赞

哦哦,明白了,就是说从tikv_gc_safe_point之前的任意时间开始都行对吗。那这个tso又是怎么查询的

是只能使用 tikv_gc_safe_point 之后的时间,只有大于 safePoint 的时间戳才是可用、安全的。

1 个赞

:sweat_smile:理解了,那就是cdc任务最早的开始时间只能是tikv_gc_safe_point

是的:grinning::grinning:

1 个赞

tso又是怎么得到的

可以通过 python 脚本:

import time
print(int(time.mktime(time.strptime ('2021-08-09 17:37:00','%Y-%m-%d %H:%M:%S'))) * (2**18) * (10**3))

验证下:

image

1 个赞

:rofl:看起来有点麻烦,为啥不直接用日期时间

我也觉得很不方便,可以给官方提个需求:grin::grin:

1 个赞

我去试试看

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