dumpling 备份报错 如何处理

方案1:使用v8.5.3兼容的TLS参数

tiup dumpling -h 192.168.xxx.xxx -P 4000 -u root -p ‘123456’
-o “${BACKUP_DIR}/${DATE}”
–filetype sql
–threads 4
–rows 100000
–filter ‘.’ \

${LOG_FILE} 2>&1 [2025/10/21 14:04:22.907 +08:00] [INFO] [versions.go:54] [“Welcome to dumpling”] [“Release Version”=v8.5.3] [“Git Commit Hash”=dc2548aac79a712265e831cff2a3a896bc0a5a38] [“Git Branch”=HEAD] [“Build timestamp”=“2025-07-31 01:54:43”] [“Go Version”=“go version go1.23.8 linux/amd64”]
[2025/10/21 14:04:22.910 +08:00] [WARN] [version.go:341] [“select tidb_version() failed, will fallback to ‘select version();’”] [error=“tls: first record does not look like a TLS handshake”]

create dumper failed: sql: SELECT version();: tls: first record does not look like a TLS handshake 备份报错,怎么处理

2 个赞

你们连数据库要求 tls了嘛

1 个赞

没有 但是我这个版本8.5.1 怎么禁止都不生效

1 个赞

dumpling导出指定一下–loglevel debug看看有没有别的信息

2 个赞

看log哈

2 个赞

刚测试了一下,8.5也没成功。

1 个赞

创建文件失败,是目录权限的事吗

1 个赞

该报错是 “连接模式不匹配”,先试试显式禁用 TLS

1 个赞

若集群已配置 TLS,需在 Dumpling 命令中指定 TLS 端口(默认 4001)和证书文件

1 个赞

原则上是Dumpling 的 TLS 配置必须与 TiDB 集群一致(均禁用或均启用且参数匹配),避免 “一方用 TLS 一方不用” 导致握手失败

1 个赞

好像基本实例都没有正常启动啊

  • 核心解决方案:在 Dumpling 命令中添加 --tls=none,强制禁用 TLS 加密连接,匹配 TiDB 未开启 TLS 的配置;
  • 命令格式修正:确保密码使用英文单引号、参数换行用反斜杠结尾,避免隐性语法错误;
  • 快速验证:执行修正后的命令,检查日志中是否消除 TLS 握手错误,备份是否正常启动。