如何使用mysqlpump迁移数据

34次阅读

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迁移数据

使用 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

常见导出示例:

  • 导出单个数据库:
  • 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

  • 启用压缩加快传输(配合 gzip):
  • 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 文件传到目标机器:

如何使用mysqlpump迁移数据

如知AI笔记

如知笔记——支持markdown的在线笔记,支持ai智能写作、AI搜索,支持DeepseekR1满血大模型

如何使用mysqlpump迁移数据27

查看详情 如何使用mysqlpump迁移数据

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 数据库

text=ZqhQzanResources