Whm412
(Whm412)
2020 年3 月 17 日 07:05
1
为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【TiDB 版本】:3.0
【问题描述】:在数据迁移过程中,创建dump没问题,但日志当中有下面的信息。初步怀疑是由于demo-at(原来不是这个名字,格式是一样的)这个库名中间带了中划线,导致把中划线后面的内容当做参数了。如果是这个问题,要怎么能解决呢?
Error: DB: demo-at - Could not execute query: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘-at LIKE ‘test_case_node’’ at line 1
若提问为性能优化、故障排查 类问题,请下载脚本 运行。终端输出的打印结果,请务必全选 并复制粘贴上传。
Whm412
(Whm412)
2020 年3 月 17 日 07:34
2
已经解决。直接在task-yaml中将数据库名称使用``括起来就可以了。比直接修改数据库名称影响要小
qizheng
(qizheng)
2020 年3 月 17 日 07:40
3
中划线等表名格式问题还可以在 mydumper 的 extra-args 中指定 -x 或者 --regex 方式处理
Whm412
(Whm412)
2020 年3 月 17 日 08:31
4
mydumper 的 extra-args 中指定 -x 或者 --regex 方式处理
这种方式处理更好。加后来验证没有成功。因为将
当做了数据库名称的一部分,在dump时找不到表,通过query-status看状态时,是成功的,但表没有迁移过去。
qizheng
(qizheng)
2020 年3 月 17 日 09:03
5
目前通过 extra-args 中指定 -x 或者 --regex 方式处理之后,表能够正常迁移过去吗
qizheng
(qizheng)
2020 年3 月 17 日 09:06
7
好的,再问下 task-yaml 中将数据库名称使用``括起来是 black-white-list 中配置的吧
Whm412
(Whm412)
2020 年3 月 17 日 09:21
8
是在routes里面进行添加。这种加法不行。
routes:
route_rules.0:
schema-pattern: “demo-test
”
target-schema: “``demo-test_new`”
qizheng
(qizheng)
2020 年3 月 17 日 09:59
9
dump 完成后在增量同步时,routes pattern 可以支持中划线的 schema 名称。
Whm412
(Whm412)
2020 年3 月 17 日 11:36
10
现在task-mode是all,所以必须要先将dump这一步过去。增量同步时带中划线应该是可行的,因为是解析binlog,但没有偿试
system
(system)
关闭
2022 年10 月 31 日 19:11
12
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。