【问题澄清】
- 上游数据库中存在
中文表名
和大写数据库名称
,同步报错,未匹配到kk
数据库。 query-status 报错如下:
“msg”: "[code=10001:class=dm-master:scope=upstream:level=high] fail to initial checker: database driver error: Error 1049: Unknown database ‘kk’
github.com/pingcap/dm/pkg/terror.(*Error).Delegate
\t
【解决方案】
-
针对大小写匹配问题:在 task 文件中设置
case-sensitive: true
,开启schema/table
大小写敏感。与 task-name 对齐 -
针对中文数据库表名称:在 task 文件中 mydumpers 标签下使用 extra-args,进行设置
mydumpers:
global:
mydumper-path: "./bin/mydumper"
threads: 4
chunk-filesize: 64
skip-tz-utc: true
extra-args: " --regex=test.|sbtest.*"
【扩展】
- mydumper 的 extra-args 也可以用于 tables-list 包含表名字符过多导致的备份问题。此问题没有明显报错,需要在
dm-worler.log
中 search 上述关键词,如果没有打印完全,即可能是此问题导致