drainer 配置 syncer.replicate-do-table 未生效

drainer 服务指定数据库表名,没有起作用,启动日志显示出配置?配置如下?

new 4.txt (6.4 KB)

你好,

tidb-binlog 为增量同步 tidb 二进制日志组件,对数据的增量部分没有同步,当前你配置的 syncer.replicate-do-table 请确认

  1. 下游是否有其表结构 并且 数据完成
  2. 上游数据变更中是否包含该数据库表

提供的 drainer 配置文件中 [syncer] 标签重复,可以检查下配置。

new 4.txt (4.1 KB)
不好意思 是这个。
指定的表在下游存在,而且有数据,同步也正常,!问题是之后我测试在上游随便创建一张表并且增加数据,发现居然同步到了下游。

可否提供下创建该表时的 drainer 日志,看下是否有同步信息。

new 41.txt (89.1 KB)

期间我对pump进行了关闭

你好,

目前请将 pump 和 drainer 状态置为 online,保证 tidb-binlog 组件是正常工作的情况下,复现一下该过程。并提供下非预期复制表的信息(表名和数据库名称)

日志中最后一次启动均为 pump 无法与 drainer 连接,pump 被关闭。请恢复一下

111.txt (14.9 KB)
我在上游的seeyii_assets_database 库执行删除sy_cd_mt_sys_con1st这个表,操作全部同步到了下游,说明指定表的配置没有成功,但是我在test库创建表没有成功同步,说明指定库的配置有效

之后我又创建sy_cd_mt_sys_con1st表,并添加一跳数据也成功同步,我感觉drainer配置里面是不是缺少 点什么

你好,

当前 drainer 配置。可以对照检查下。这边测试是没有问题的。

[syncer]
db-type = "mysql"

[[syncer.replicate-do-table]]
db-name = "test"
tbl-name = "rep_test_4107_24000"

[[syncer.replicate-do-table]]
db-name = "test"
tbl-name = "rep_test_4107_24000_0618"
[syncer.to]
host = "172.16.5.169"
password = "123456"
port = 3306
user = "root"

如果上游出现 replicate-do-table 配置项以外的表,drainer 会有类似的日志。

我是这样的配置,我配置了13个,是不是配置的数量太多造成的,您那边方便测试一下吗?配置13个以上

该参数的生效与参数数量没有直接联系,

问下 tidb-binlog 的部署方式是什么。

是如果进行修改该参数的 [[syncer.replicate-do-table]],请详细描述下步骤,期望列出 1,2,3

部署方式是用tidb-ansible部署的
1.先在inventory.ini 里面添加
[drainer_servers]
drainer135_YC ansible_host=172.17.23.157 initial_commit_ts=“-1” drainer_port=8248 deploy_dir=/data/tidb/deploy135

2.进入conf ,修改drainer135_YC_drainer.toml ,drainer135_YC_drainer.toml (4.1 KB)

3.然后启动drainer执行
ansible-playbook deploy_drainer.yml
ansible-playbook start_drainer.yml
ansible-playbook rolling_update.yml --tags=tidb
ansible-playbook rolling_update_monitor.yml --tags=prometheus

去掉 toml 文件中 44 行 replicate-do-db = ["seeyii_assets_database"] 并执行 3 步骤,试下

可以了,感谢感谢。

replicate-do-dbreplicate-do-table 类似mysql 中的参数,db 可能覆盖了 table 的设置

嗯嗯,现在突然想起了文档中说的replicate-do-db优先级高于 replicate-do-table的意思了。。
建议这个 replicate-do-table 可以修改成为,同一个库下面的表 可以加逗号写在同一列

目前工具中的匹配大都存在类似的问题。可以使用正则表达式,看你的表的共性还是有的。只需要差异化配置即可

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