huixiang
(huixiang)
2024 年10 月 19 日 16:21
1
【 TiDB 使用环境】生产环境 /
【 TiDB 版本】TIDB5.1–>TIDB7.5
【复现路径】
TIDB5.1–>TIDB7.5 配置drainer同步,没有同步数据
【遇到的问题:问题现象及影响】
TIDB版本升级,希望通过Dainer把ad库由集群A(TIDB5.1)–>集群B(TIDB7.5),没有成功同步数据
1. 清除数据 (为了一个干净的环境,删除checkpoint表)
Drop tidb_binlog.checkpoint
2. 配置同步 drainer
配置文件,ts 取当前时间。
2. 源端集群A建测试表
CREATE TABLE `ad.t1` (
id
bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT ‘自增 ID’,
name
varchar(100) DEFAULT NULL,
ctime
timestamp DEFAULT CURRENT_TIMESTAMP COMMENT ‘创建时间’,
PRIMARY KEY (id
) /*T![clustered_index] CLUSTERED */
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin AUTO_INCREMENT=30002
3. 源端写入测试表
insert into t1(name) values(‘test drainer 5.1->7.5’);
select * from t1;
4. 目标集群B(7.5)中没有成功同步。
ad > select * from t1;
ERROR 1146 (42S02): Table ‘ad.t1’ doesn’t exist
提前建好表,数据也不会同步。
5. 看监控是drainer 同步正常的。drainer无延时。
【资源配置】
【附件:截图/日志/监控】
huixiang
(huixiang)
2024 年10 月 20 日 04:04
2
我建了test_drainercdc同步,重新测试还是一样的情况,监控图上drainer 正常无延时,但源写入数据,没有正常同步到目标表中。
日志时有:
[2024/10/20 11:44:31.467 +08:00] [WARN] [schema.go:280] [“ddl job schema version is less than current version, skip this ddl job”] [job="ID:14745, Type:truncate table, State:cancelled, SchemaState:queueing, SchemaID:11205, TableID:14740, RowCount:0, ArgLen:0, start time: 2019-04-06 21:54:07.282 +0800 CST,
请问: 如何根据SchemaID:11205, TableID:14740,依ID找到相应的库/表名字?
huixiang
(huixiang)
2024 年10 月 20 日 04:07
3
还有关于drainer配置中想问两个问题:
1) INFORMATION_SCHEMA是需要配置成 syncer.ignore-schemas不?
我在测试中配置为syncer.ignore-schemas。
syncer.replicate-do-db: [“test_drainercdc”,“mytest”]
syncer.ignore-schemas: “INFORMATION_SCHEMA,METRICS_SCHEMA,PERFORMANCE_SCHEMA,ad,xxx”
2)若是源表中有3个库 A,B,C。 drainer中replicate-do-db配置了A库, syncer.ignore-schemas: 中配置了C库。这时B库即没有配置replicate,也没有配置ignore。 B库是否会同步?
有猫万事足
2024 年10 月 21 日 02:43
4
WalterWj
(王军 - PingCAP)
2024 年10 月 21 日 05:38
5
找下对应 id 的表吧。
感觉你光配置 do db 即可,不确定这部分过滤生效是否有冲突。
huixiang
(huixiang)
2024 年11 月 1 日 15:33
6
原因是:虽然安装了pump,但是binlog没有开。
binlog.enable: false
处理:
tiup cluster edit-config clustername
binlog.enable: true
改进:提前检查好binlog,pump status。
upload_pic > show variables like “log_bin”;
±--------------±------+
| Variable_name | Value |
±--------------±------+
| log_bin | ON |
±--------------±------+
1 row in set (0.01 sec)
show pump status; // online
show drainer status;
system
(system)
关闭
2024 年11 月 8 日 15:33
7
此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。