dm dumping问题

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】

Release version: v7.5.0
Git commit hash: 069631e2ecfedc000ffb92c67207bea81380f020
Git branch: heads/refs/tags/v7.5.0
Build timestamp: 2023-11-24 08:41:54Z
Go version: go version go1.21.3 linux/amd64

[2023/12/29 03:27:52.566 +00:00] [INFO] [versions.go:54] [“Welcome to dumpling”] [“Release Version”=v7.5.0] [“Git Commit Hash”=069631e2ecfedc000ffb92c67207bea81380f020] [“Git Branch”=heads/refs/tags/v7.5.0] [“Build timestamp”=“2023-11-24 08:41:54”] [“Go Version”=“go version go1.21.3 linux/amd64”]
[2023/12/29 03:27:54.068 +00:00] [WARN] [version.go:327] [“select tidb_version() failed, will fallback to ‘select version();’”] [error=“Error 1046 (3D000): No database selected”]
[2023/12/29 03:27:54.282 +00:00] [INFO] [version.go:434] [“detect server version”] [type=MySQL] [version=8.0.23]
[2023/12/29 03:27:54.496 +00:00] [WARN] [dump.go:1420] [“error when use FLUSH TABLE WITH READ LOCK, fallback to LOCK TABLES”] [error=“sql: FLUSH TABLES WITH READ LOCK: Error 1045 (28000): Access denied for user ‘future’@‘%’ (using password: YES)”] [errorVerbose=“Error 1045 (28000): Access denied for user ‘future’@‘%’ (using password: YES)\nsql: FLUSH TABLES WITH READ LOCK\ngithub.com/pingcap/tidb/dumpling/export.FlushTableWithReadLock\n\tgithub.com/pingcap/tidb/dumpling/export/sql.go:619\ngithub.com/pingcap/tidb/dumpling/export.resolveAutoConsistency\n\tgithub.com/pingcap/tidb/dumpling/export/dump.go:1415\ngithub.com/pingcap/tidb/dumpling/export.runSteps\n\tgithub.com/pingcap/tidb/dumpling/export/dump.go:1289\ngithub.com/pingcap/tidb/dumpling/export.NewDumper\n\tgithub.com/pingcap/tidb/dumpling/export/dump.go:124\nmain.main\n\t./main.go:70\nruntime.main\n\truntime/proc.go:267\nruntime.goexit\n\truntime/asm_amd64.s:1650”]
密码是对的 mysql8 就报错

Error 1045 有可能是 命令参数不对,dumpling -u root -P 4000 -p密码

是用dumpling备份MySQL8.0?有没有可能是密码认证方式的问题,8.0默认已不是mysql native密码保存方式了

1、是从TiDB导出,还是从MySQL8导出?如果是MySQL8导出,可能是不兼容,没搜到相关支持MySQL8.0的信息
2、检查密码是否有特殊字符,之前遇到过密码里有特殊字符的情况导致登录失败。尤其要注意-P是端口 -p是密码

锁表了吗?

看这里的报错,大概率是dumpling 和mysql 8.0的兼容性问题。可以换一个mysql 5.7的侧面验证一下

[“select tidb_version() failed, will fallback to ‘select version();’”] [error=“Error 1046 (3D000): No database selected”],检查一下版本

看这里,应该是兼容问题,直接提示没有选择数据库。

多测试一下看看