Tidb binlog同步到Mysql,无数据到mysql,日志无报错

【 TiDB 版本】 V4.0.9

【概述】 Tidb binlog同步到Mysql,实现Tidb的增量数据到mysql,(之前的历史数据不需要到Mysql),检查了所有数据正常,但无数据到mysql,日志无报错

【问题】 无数据到mysql,日志无报错

【附件】
日志:log:
[2022/01/27 15:40:54.442 +08:00] [INFO] [syncer.go:581] [“skip old version truncate dml”] [“table id”=5064]
[2022/01/27 15:40:54.442 +08:00] [INFO] [syncer.go:581] [“skip old version truncate dml”] [“table id”=5080]
[2022/01/27 15:40:56.356 +08:00] [INFO] [syncer.go:581] [“skip old version truncate dml”] [“table id”=5070]
[2022/01/27 15:40:56.608 +08:00] [INFO] [syncer.go:581] [“skip old version truncate dml”] [“table id”=5064]
[2022/01/27 15:40:56.786 +08:00] [INFO] [syncer.go:581] [“skip old version truncate dml”] [“table id”=5062]
[2022/01/27 15:40:56.912 +08:00] [INFO] [syncer.go:581] [“skip old version truncate dml”] [“table id”=5078]
[2022/01/27 15:40:57.282 +08:00] [INFO] [syncer.go:581] [“skip old version truncate dml”] [“table id”=5076]
[2022/01/27 15:40:57.390 +08:00] [INFO] [syncer.go:581] [“skip old version truncate dml”] [“table id”=5076]
[2022/01/27 15:40:57.516 +08:00] [INFO] [syncer.go:581] [“skip old version truncate dml”] [“table id”=5076]
[2022/01/27 15:40:57.692 +08:00] [INFO] [syncer.go:581] [“skip old version truncate dml”] [“table id”=5072]
[2022/01/27 15:40:57.921 +08:00] [INFO] [syncer.go:581] [“skip old version truncate dml”] [“table id”=5076]
[2022/01/27 15:40:58.300 +08:00] [INFO] [syncer.go:581] [“skip old version truncate dml”] [“table id”=5076]
[2022/01/27 15:40:58.495 +08:00] [INFO] [syncer.go:581] [“skip old version truncate dml”] [“table id”=5076]
[2022/01/27 15:40:58.523 +08:00] [INFO] [syncer.go:581] [“skip old version truncate dml”] [“table id”=5072]

启动命令:
bin/drainer --node-id=192.168.1.161:8249 --addr=192.168.1.161:8249 --pd-urls=http://192.168.1.62:2379,http://192.168.1.63:2379,http://192.168.1.64:2379 --data-dir=/TiDB/tidb-data/drainer-8249 --log-file=/TiDB/tidb-deploy/drainer-8249/log/drainer.log --config=conf/drainer.toml --initial-commit-ts=0

配置:
[syncer]
txn-batch = 100
worker-count = 2
db-type = “mysql”
safe-mode = true
sql-mode = “”
ignore-schemas=“INFORMATION_SCHEMA,PERFORMANCE_SCHEMA,mysql,qd_api,zhy,dm_meta,METRICS_SCHEMA,test,visualization,tidb_loader”

[[syncer.replicate-do-table]]
db-name =“xxxxx”
tbl-name = “A,B,C”

[syncer.to]
host = “192.168.1.163”
user = “root”
password = “xxxxxx”
port = xxxXX

TIDB是用了主从模式,现在从库也是用TIDB,现在业务需要多一个从MYSQL来使用,一样的同步配置,同步给Mysql就不生效了

换成tbl-name = “[‘A’,‘B’,‘C’]”试试

1 个赞

你好 测试了 没起效果

看一下
show variables like “log_bin”;
show pump status;
show drainer status;

尝试加 replicate-do-db 指定一下试试。

middle_img_v2_c15a7f3c-1897-4a94-a13c-c142e2b94ddg

pump:

drainer:

看你前面说的是只做增量没做过全量同步,那你的库表结构和原始数据在mysql里面都有了吗

原始数据没有 但是表结构有

尝试过insert操作能同步成功吗

有试过 不能成功


这是我做的测试表删除操作
日志有显示 但是目的库没有同步操作

有尝试在配置文件加入:replicate-do-db 吗?

我试试

replicate-do-db priority over replicate-do-table if have same db name.
官方解释2个效果一样的把?我只需要部分表的binlog同步。

完整的配置文件能上传一下吗,看日志是有filter跳过了

找到问题解决了。。但是现在有个问题,只能单表同步 不能多表
tbl-name = “A” (只能这样)
多表的有什么格式吗
试了几个格式都不行
比如
tbl-name = [“A”,“B”]
tbl-name = “[‘A’,‘B’,‘C’]”

官方给的案例是这样的
image

[syncer]
db-type = “mysql”

[[syncer.replicate-do-table]]
db-name = “test”
tbl-name = “lightning”

[[syncer.replicate-do-table]]
db-name = “test”
tbl-name = “t1”

我试了下好像只能这样写。。:rofl:

解决了谢谢。。直接用正则写死

:+1::+1:

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