两个TIDB,使用ticdc进行单库的在线分离,无法获取TSO值

【 TiDB 使用环境】生产环境
【 TiDB 版本】5.3.0
两个TIDB,使用ticdc进行单库的在线分离
具体是:
从源库dumpling一个schema,导入到目标库,再无缝进行CDC数据传输
但是dumpling到出的值没有TSO,只有个时间戳,网上找了方法,说是使用:
SELECT TIDB_PARSE_TSO(UNIX_TIMESTAMP(‘2024-10-14 17:30:02’) * 1000) AS start_tso;
就可以找到当时的TSO,结果如图:

请问大佬们,如何可以获取dumpling的tso,或者说,这个时间戳有什么办法可以获取准确的TSO吗?是我的获取SQL写的有问题吗?

你这个sql不对。
正确的看下面这个

1 个赞

dumpling 导出默认是有 tso 的啊
另外 ticdc 同步起点,不需要太精确啊

试了下,确实是这个:

转换tso:
mysql> SELECT TIDB_PARSE_TSO(445015622156288001);
mysql> SELECT conv(concat(bin(unix_timestamp(‘2023-10-18 11:31:17’) * 1000),‘000000000000000001’),2,10);

SELECT TIDB_PARSE_TSO(445015622227853318 );

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

dumpling导出的时间戳在导出日志能找到。

image
没有吧,导出是这个样子的