iceman
(Ti D Ber 1r0n5 Bkm)
2022 年12 月 23 日 01:00
1
【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】v6.1.0
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
dm同步状态显示在同步,但tidb里没有任何数据表建立
【资源配置】
name: “test”
任务模式,可设为
full:只进行全量数据迁移
incremental: binlog 实时同步
all: 全量 + binlog 迁移
task-mode: “all”
下游 TiDB 配置信息。
target-database:
host: “192.168.106.92” # 例如:172.16.10.83
port: 4000
user: “root”
password: “*********” # 支持但不推荐使用明文密码,建议使用 dmctl encrypt 对明文密码进行加密后使用
当前数据迁移任务需要的全部上游 MySQL 实例配置。
mysql-instances:
上游实例或者复制组 ID。
source-id: “mysql-01”
需要迁移的库名或表名的黑白名单的配置项名称,用于引用全局的黑白名单配置,全局配置见下面的 block-allow-list
的配置。
block-allow-list: “listA”
黑白名单全局配置,各实例通过配置项名引用。
block-allow-list:
listA: # 名称
do-tables: # 需要迁移的上游表的白名单。
- db-name: “nadia." # 需要迁移的表的库名。
tbl-name: " ” # 需要迁移的表的名称。
【附件:截图/日志/监控】
h5n1
(H5n1)
2022 年12 月 23 日 02:01
3
tbl-name: " ” # 需要迁移的表的名称。 这改成*
iceman
(Ti D Ber 1r0n5 Bkm)
2022 年12 月 23 日 02:39
4
可是复制出错了,实际配置是
block-allow-list:
listA: # 名称
do-tables: # 需要迁移的上游表的白名单。
- db-name: “nadia” # 需要迁移的表的库名。
tbl-name: “*”
iceman
(Ti D Ber 1r0n5 Bkm)
2022 年12 月 23 日 02:46
6
root@db93:/home/tidb/dm/deploy/dm-worker-8262/log# tail dm-worker_stderr.log -n 20
[mysql] 2022/12/23 07:25:12 packets.go:123: closing bad idle connection: EOF
[mysql] 2022/12/23 07:35:12 packets.go:123: closing bad idle connection: EOF
[mysql] 2022/12/23 07:45:12 packets.go:123: closing bad idle connection: EOF
[mysql] 2022/12/23 07:55:12 packets.go:123: closing bad idle connection: EOF
[mysql] 2022/12/23 08:05:12 packets.go:123: closing bad idle connection: EOF
[mysql] 2022/12/23 08:15:12 packets.go:123: closing bad idle connection: EOF
[mysql] 2022/12/23 08:25:12 packets.go:123: closing bad idle connection: EOF
[mysql] 2022/12/23 08:35:12 packets.go:123: closing bad idle connection: EOF
[mysql] 2022/12/23 08:45:12 packets.go:123: closing bad idle connection: EOF
[mysql] 2022/12/23 08:55:12 packets.go:123: closing bad idle connection: EOF
[mysql] 2022/12/23 09:05:12 packets.go:123: closing bad idle connection: EOF
[mysql] 2022/12/23 09:15:12 packets.go:123: closing bad idle connection: EOF
[mysql] 2022/12/23 09:25:12 packets.go:123: closing bad idle connection: EOF
[mysql] 2022/12/23 09:37:18 packets.go:123: closing bad idle connection: EOF
[mysql] 2022/12/23 09:47:18 packets.go:123: closing bad idle connection: EOF
[mysql] 2022/12/23 09:57:18 packets.go:123: closing bad idle connection: EOF
[mysql] 2022/12/23 10:07:18 packets.go:123: closing bad idle connection: EOF
[mysql] 2022/12/23 10:17:18 packets.go:123: closing bad idle connection: EOF
[mysql] 2022/12/23 10:27:18 packets.go:123: closing bad idle connection: EOF
[mysql] 2022/12/23 10:37:18 packets.go:123: closing bad idle connection: EOF
iceman
(Ti D Ber 1r0n5 Bkm)
2022 年12 月 23 日 02:52
7
我看了worker上,dumped_data.nadia里的目录,看到还没有全部的表,是不是表明还没有dump完成啊?
iceman
(Ti D Ber 1r0n5 Bkm)
2022 年12 月 23 日 02:54
9
老是会断开,这是什么原因呢?源库已设了86400的超时时间了
“subTaskStatus”: [
{
“name”: “nadia”,
“stage”: “Paused”,
“unit”: “Dump”,
“result”: {
“isCanceled”: false,
“errors”: [
{
“ErrCode”: 32001,
“ErrClass”: “dump-unit”,
“ErrScope”: “internal”,
“ErrLevel”: “high”,
“Message”: "mydumper/dumpling runs with error, with output (may empty): ",
“RawCause”: “sql: SHOW COLUMNS FROM nadia
.goods_store
: driver: bad connection”,
“Workaround”: “”
}
],
“detail”: null
},
“unresolvedDDLLockID”: “”,
“dump”: {
“totalTables”: “103”,
“completedTables”: 20,
“finishedBytes”: 19923930333,
“finishedRows”: 106142560,
“estimateTotalRows”: 227656254,
“bps”: “0”,
“progress”: “”
},
“validation”: null
}
下游 tidb 有别的连接吗?看下 show processlist 和 max_connections?
xfworld
(魔幻之翼)
2022 年12 月 23 日 03:11
11
这是连接挂了 ,你想解决问题,得把所有的环境描述清楚才行了
iceman
(Ti D Ber 1r0n5 Bkm)
2022 年12 月 23 日 03:37
13
上游是mysql5.7,在阿里云公网的。下游是tidb6.1.3,在私网环境,网络上端口均已开通,能连
iceman
(Ti D Ber 1r0n5 Bkm)
2022 年12 月 23 日 03:38
14
worker上都是这样的日志:
[mysql] 2022/12/23 10:07:18 packets.go:123: closing bad idle connection: EOF
[mysql] 2022/12/23 10:17:18 packets.go:123: closing bad idle connection: EOF
[mysql] 2022/12/23 10:27:18 packets.go:123: closing bad idle connection: EOF
[mysql] 2022/12/23 10:37:18 packets.go:123: closing bad idle connection: EOF
[mysql] 2022/12/23 10:47:18 packets.go:123: closing bad idle connection: EOF
[mysql] 2022/12/23 10:57:18 packets.go:123: closing bad idle connection: EOF
[mysql] 2022/12/23 11:07:18 packets.go:123: closing bad idle connection: EOF
[mysql] 2022/12/23 11:17:18 packets.go:123: closing bad idle connection: EOF
[mysql] 2022/12/23 11:27:18 packets.go:123: closing bad idle connection: EOF
[mysql] 2022/12/23 11:37:18 packets.go:123: closing bad idle connection: EOF
xfworld
(魔幻之翼)
2022 年12 月 23 日 03:42
15
会飞的土拨鼠
2022 年12 月 23 日 03:53
16
iceman:
dm同步状态显示在同步
dm同步状态显示在同步,有同步成功的表或者数据库吗?
iceman
(Ti D Ber 1r0n5 Bkm)
2022 年12 月 23 日 03:55
17
没有,还在dump,估计没有表也是因为在dump中,现在的问题是dump过程,一直会报
“Message”: "mydumper/dumpling runs with error, with output (may empty): ",
“RawCause”: “sql: SHOW COLUMNS FROM nadia
.goods_store
: driver: bad connection”,
看了worker日志,[mysql] 2022/12/23 11:17:18 packets.go:123: closing bad idle connection: EOF
[mysql] 2022/12/23 11:27:18 packets.go:123: closing bad idle connection: EOF
[mysql] 2022/12/23 11:37:18 packets.go:123: closing bad idle connection: EOF
[mysql] 2022/12/23 11:47:18 packets.go:123: closing bad idle connection: EOF
会飞的土拨鼠
2022 年12 月 23 日 05:04
18
这是数据库连接的问题了,连接失败。你需要检查一下“ 同步的配置文件”是否正确?迁移库和目标库是否可以正常连接,然后再执行命令。如果tidb是测试库,没有重要的数据的话,推荐空闲时间重启一下tidb集群。
1 个赞
好像是这个 issue https://github.com/pingcap/tidb/issues/36549 , 要不你试试新版本的 DM。以及你应该贴一下 worker 的正常日志,而不仅仅是 dm-worker_stderr.log