mysqlpump在mysql 8.0.34+已弃用,仅支持多线程导出、单线程导入,rto不理想;其--default-parallelism需满足多库/表及足权才生效,推荐改用mysql shell的util.dump_instance实现导出导入双多线程。

mysqlpump 在 MySQL 8.0.34 及之后版本已被官方标记为 deprecated,2026 年起不应再用于新部署;如果你当前用的是 MySQL 8.0.33 或更早,它仍可工作,但必须清楚:它只支持多线程导出,导入仍是单线程的——这意味着备份快,恢复慢,实际 RTO 并不理想。
为什么 mysqlpump 的 --default-parallelism 不总生效
mysqlpump 的并行能力依赖两个关键条件,缺一不可:
- 数据库中存在足够多的独立对象(库或表):它按库/表分片并行,若只备份单个库里的 1 张大表,即使设
--default-parallelism=8,也只会启动 1 个线程干活 - 用户权限满足要求:除
SELECT外,若用了--single-transaction,还需RELOAD权限;若要导出用户,还需对mysql系统库的SELECT权限
常见错误现象:
- 命令执行时 CPU 占用始终只有 1 核,
processlist里只看到 1 个Dump线程 - 日志里出现
Warning: Skipping dump of database <code>xxx: no tables found,其实是权限不足导致对象列表为空
建议做法:
- 先用
mysqlpump -u u -p --all-databases --dry-run测试能否列出所有库和表 - 对单库备份,优先拆成
--include-databases=db1,db2,db3显式指定,比db1单参数更容易触发并行
mysqlpump 导出后无法直接用 mysql 命令导入
mysqlpump 默认输出格式与 mysqldump 不完全兼容。典型问题包括:
- 自动生成的
CREATE USER和GRANT语句在目标实例无mysql系统库写入权限时会报错:ERROR 1227 (42501): Access denied; you need (at least one of) the CREATE USER privilege(s) for this operation - 含
DEFINER的视图或存储过程,若目标环境无对应用户,会卡在CREATE ALGORITHM=...行 - 使用
--compress-output=LZ4生成的文件不能直接管道导入,必须先解压
安全导入方式:
- 加
--skip-definer导出,避免权限绑定 - 加
--users仅当明确需要迁移账号,否则默认不导出 - 不要用
mysql -u root -p 直接重定向,改用: <pre class="brush:php;toolbar:false;">mysqlpump -u u -p --databases db1 | mysql -u u -p db1</pre> (注意:这跳过文件落地,但要求源/目标字符集一致,且网络稳定)
替代方案:MySQL Shell 的 util.dump_* 系列工具更可靠
MySQL 官方已将重心转向 mysqlsh 中的 util.dump_schemas、util.dump_instance 等函数,它们真正实现导出+导入双多线程,还支持压缩、进度反馈、OCI 对象存储直传。
例如导出整个实例:
mysqlsh --uri u:p@localhost:3306 -e "util.dump_instance('/backup/full', {threads: 4, bytesPerChunk: '128M', compression: 'zstd'})"
关键优势:
-
bytesPerChunk按数据量切片,不再依赖“表数量”,单大表也能并行 - 导出目录结构清晰:
metadata.json+@.json+ 分片.zst文件,可选择性加载某几张表 - 导入时用
util.load_dump()自动启用多线程加载和延迟建索引,实测恢复速度比mysqlpump+mysql快 3–5 倍
⚠️ 注意:MySQL Shell 需单独安装(非随服务自带),且最低要求 MySQL Server 8.0.21+;低于此版本无法使用 util.dump_*。
mysqlpump 的核心缺陷在于「导出并行,导入瘸腿」,而生产环境真正卡脖子的往往是恢复时间。如果已用上 MySQL 8.0.34+,别挣扎了——删掉旧脚本,换成 mysqlsh + util.dump_instance,哪怕只是把 threads: 4 写进配置,也比调半天 --default-parallelism 实在。











