f范文伟
(Hacker U I Ei3 B Dn)
1
为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【TiDB 版本】
4.0
【问题描述】
DM工具创建同步mysql8.0的数据库表task时报
“ErrCode”: 10006,
“ErrClass”: “database”,
“ErrScope”: “downstream”,
“ErrLevel”: “high”,
“Message”: “run db schema failed - dbfile ./dumped_data.test/oleaning_data-schema-create.sql: execute statement failed: CREATE DATABASE
oleaning_data
/*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci
/ /!80016 DEFAULT ENCRYPTION=‘N’ */;”,
“RawCause”: “Error 1044: Access denied for user ‘bi_test’@‘%’ to database ‘oleaning_data’”,
“Workaround”: “”
下游已经建立了表,起的别的名字进行路由对应的,请问,如何在不改变上游表结构的情况下同步这张表
小王同学
2
f范文伟
(Hacker U I Ei3 B Dn)
3
不是的,我已经把数据路由到一个新的库了,DM不应该新建库的,
schema-pattern: “oleaning_data”
target-schema: “gsfa_bi_business” – 已经建好的库
table-pattern: “organization_0001”
target-table: “oleaning_organization” – 已经建好的表
我设置
schema-pattern: “*”
后又报下面的错误
感觉应该是上游数据库的字符集编码问题,有没有不改变上游结构的情况下通过路由设置解决这个问题?
1 个赞
小王同学
4
1 个赞
f范文伟
(Hacker U I Ei3 B Dn)
5
上游系统用了新的排序规则,但是上游系统表不能动,请问可以在DM和下游库上面解决这个问题吗
小王同学
6
f范文伟
(Hacker U I Ei3 B Dn)
7
在DM抽取转换的过程中可以处理掉这种情况吗,就是上游和下游的表排序方式设置成不一样的这种情况
无敌大表哥
9
遇到了同样的问题,DM 同步报错:ddl:1273]Unknown collation: ‘utf8mb4_0900_as_cs’
看来对mysql 8.0 上游的数据 目前支持的并不好
遇到相似的问题,请问有解决方案吗?目前从 mysql8.0 同步到 tidb 6.5.0,使用 dm 工具全量+增量,也是出现报错,但目标库表结构已创建好,配置看起来也没问题(如下图)
[2023/02/10 19:35:50.092 +08:00] [ERROR] [subtask.go:369] [“unit process error”] [subtask=authorinfo] [unit=Load] [“error information”="ErrCode:34019 ErrClass:"load-unit" ErrScope:"not-set" ErrLevel:"high" RawCause:"[Lightning:Restore:ErrCreateSchema]create schema failed, table: `porsche`.``, stmt: restore database schema: run create schema job failed: Error 1273: Unsupported collation when new collation is enabled: ‘utf8mb4_0900_ai_ci’" "]
考试没答案
(Ti D Ber P Kfity Gq)
16
8.0是试验特性。不知道能不能很好的支持。utf8mb4_0900_ai_ci’这个编码规则就是8.0默认的。估计兼容性不好吧
找到解决方法了,dm 全量同步会在本地下载 schema 的 sql 文件,里面带有类似 utf8mb4_0900_ai_ci 之类的配置,去掉后恢复下任务就可以了
考试没答案
(Ti D Ber P Kfity Gq)
18
是的。 可以设置参数,让文件落地后,不删除就能发现这些东西。 三大类: 数据库,表,数据
这里是排序字符集的问题,可以把表的排序字符集设置成utf8mb4_unicode_ci