mysqlpump是MySQL 5.7+的高效并行备份工具,支持多线程导出导入,提升迁移效率;通过which mysqlpump确认工具存在后,使用如mysqlpump -u root -p mydb > mydb_dump.sql命令导出数据,可结合–databases、–all-databases、–parallel-schemas等选项实现单库、多库或并行导出,支持gzip或–compress-output=ZLIB压缩;导出文件通过scp传输至目标服务器,必要时gunzip解压,最后用mysql -u root -p mydb < mydb_dump.sql导入数据,完成迁移。

使用 mysqlpump 迁移数据是一种高效、并行处理的逻辑备份与恢复方式,适用于 MySQL 5.7 及以上版本。相比传统的 mysqldump,mysqlpump 支持多线程导出和导入,提升迁移效率。
1. 检查 mysqlpump 是否可用
确保你的 MySQL 安装包含 mysqlpump 工具:
which mysqlpump
如果未安装,需升级 MySQL 到支持版本(5.7+)。
2. 使用 mysqlpump 导出数据
基本语法如下:
mysqlpump -u [user] -p[password] –host=[host] [options] [database_name] > dump.sql
常见导出示例:
- 导出单个数据库:
- 导出多个数据库:
- 导出所有数据库(含系统库):
- 启用压缩加快传输(配合 gzip):
mysqlpump -u root -p mydb > mydb_dump.sql
mysqlpump -u root -p –databases db1 db2 > multi_dump.sql
mysqlpump -u root -p –all-databases > full_dump.sql
mysqlpump -u root -p mydb | gzip > mydb_dump.sql.gz
关键选项说明:
- –default-character-set=utf8mb4:指定字符集
- –compress-output=ZLIB:内置压缩输出(MySQL 8.0+)
- –parallel-schemas=4:按 schema 并行导出(提升速度)
- –exclude-tables=*:可排除特定表
3. 将导出文件传输到目标服务器
使用 scp、rsync 或其他方式将 dump 文件传到目标机器:
scp mydb_dump.sql user@target_host:/tmp/
如为压缩文件,需先解压:
gunzip mydb_dump.sql.gz
4. 使用 mysql 导入数据
mysqlpump 生成的是标准 SQL 脚本,使用 mysql 命令导入:
mysql -u root -p mydb
注意事项:
- 导入前确保目标数据库已创建:CREATE DATABASE IF NOT EXISTS mydb;
- 若导出的是全库,直接导入即可,无需指定数据库
- 导入大文件时建议关闭自动提交或使用更快模式(谨慎操作)
5. 验证数据一致性
迁移完成后,检查关键表记录数和结构是否一致:
SELECT COUNT(*) FROM mytable;
对比源库与目标库结果。
也可用 checksum 工具或 pt-table-checksum(Percona Toolkit)做深度校验。
基本上就这些。mysqlpump 适合中等规模的数据迁移,操作简单,兼容性好,但超大数据量仍建议物理备份(如 xtrabackup)。
mysql word 大数据 工具 解压 sql mysql if count select 线程 多线程 default table database 数据库


