drainer 服务指定数据库表名,没有起作用,启动日志显示出配置?配置如下?
new 4.txt (6.4 KB)
你好,
tidb-binlog 为增量同步 tidb 二进制日志组件,对数据的增量部分没有同步,当前你配置的 syncer.replicate-do-table 请确认
提供的 drainer 配置文件中 [syncer]
标签重复,可以检查下配置。
可否提供下创建该表时的 drainer 日志,看下是否有同步信息。
你好,
目前请将 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-db
与 replicate-do-table
类似mysql 中的参数,db 可能覆盖了 table 的设置
嗯嗯,现在突然想起了文档中说的replicate-do-db优先级高于 replicate-do-table
的意思了。。
建议这个 replicate-do-table
可以修改成为,同一个库下面的表 可以加逗号写在同一列
目前工具中的匹配大都存在类似的问题。可以使用正则表达式,看你的表的共性还是有的。只需要差异化配置即可
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。