麻辣机师
(Ti D Ber N Ec Hp7n S)
2024 年8 月 2 日 07:07
1
【 TiDB 使用环境】测试
【 TiDB 版本】8.1
【遇到的问题:问题现象及影响】
创建 DM 迁移任务,从 mysql 8.0 同步到 TiDB,mysql为mgr集群
创建 task 失败,出现奇怪的问题:
1、sql_require_primary_key: off
在非 mgr mysql 的环境(单机或主从,gtid关闭或撕开),sql_require_primary_key: 0 是ok的。而mgr为上游则必须配置为off,配置为0/1均出错,不支持该值,配置成on会导致无法创建meta相关表
2、Error 1049 (42000): Unknown database ‘xxxx’。上游有对应的 db,且大小写完全符合,账号使用的权限为 ALL ON .
麻辣机师
(Ti D Ber N Ec Hp7n S)
2024 年8 月 2 日 07:07
2
任务配置文件内容:
name: “xxx”
task-mode: all
shard-mode: pessimistic
strict-optimistic-shard-mode: false
meta-schema: dba_dm_meta
case-sensitive: false
online-ddl: true
clean-dump-file: true
collation_compatible: strict
mysql-instances:
source-id: “xxx”
mydumper-thread: 4
loader-thread: 16
syncer-thread: 16
validator-config-name: full
block-allow-list: do-dbs
target-database:
host: “xxxx”
port: 3306
user: “xxxx”
password: “xxx”
session:
sql_require_primary_key: off
collation_database: utf8mb4_general_ci
validators:
full:
mode: none
worker-count: 4
row-error-delay: 30m
block-allow-list:
do-dbs:
do-dbs: [“infra_fss”, “unified_cache”]
麻辣机师
(Ti D Ber N Ec Hp7n S)
2024 年8 月 5 日 06:29
10
DM 同步:
mysql->tidb
大小写问题:
库名只有小写字母,配置中也是通过复制取的库名,所以应该不存在大小写的问题
权限验证:
在 dm 服务器(dm为单点集群,master/worker都在同一台服务器上)上,mysql客户端连接验证,下面的查询执行正常(use 的两个库为需要同步的库)
show databases;
use infra_fss;
show tables;
use unified_cache;
show tables;
DM 8.1、mysql 8.0.23,另一套相同版本的mysql同步正常(主从架构,出问题的这套是mgr架构
异常信息 – dmctl start-task config_前面已经给出:
{
“result”: false,
“msg”: “”,
“sources”: [
],
“checkResult”: “[code=26005:class=dm-master:scope=internal:level=medium], Message: fail to check synchronization configuration with type: check was failed, please see detail
detail: {
“results”: [
{
“id”: 12,
“name”: “table structure compatibility check”,
“desc”: “check compatibility of table structure”,
“state”: “fail”,
“errors”: [
{
“severity”: “fail”,
“short_error”: “Error 1049 (42000): Unknown database ‘infra_fss’”
}
]
}
],
“summary”: {
“passed”: false,
“total”: 13,
“successful”: 12,
“failed”: 1,
“warning”: 0
}
}”
}
麻辣机师
(Ti D Ber N Ec Hp7n S)
2024 年8 月 13 日 02:21
14
怀疑是在第一次报 sql_require_primary_key 出错之后,遗留了什么数据信息导致(有试过加 --remove-meta ,没有解决问题)
目前把 TiDB+DM 集群都 destroy 之后重建,问题没有再复现
system
(system)
关闭
2024 年10 月 12 日 02:21
15
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。