- A+

MySQL 使用 mysqlpump 进行备份是一种高效、并行处理的逻辑备份工具,适用于 MySQL 5.7 及以上版本。相比传统的 mysqldump,mysqlpump 支持多线程导出,能显著提升大数据库的备份速度。
1. mysqlpump 简介与特点
mysqlpump 是 MySQL 官方提供的逻辑备份工具,主要优势包括:
- 并行备份:支持按数据库或表级别并行导出数据,提高效率
- 灵活控制:可单独备份特定数据库、表,甚至排除某些对象
- 压缩支持:支持直接压缩输出,节省磁盘空间
- 用户权限分离导出:可将用户账户和权限单独导出
2. 基本备份命令用法
最简单的完整实例备份命令如下:
mysqlpump -u root -p --all-databases > full_backup.sql
该命令会导出所有数据库到一个 SQL 文件中。
如果只想备份特定数据库:
mysqlpump -u root -p db1 db2 > backup_dbs.sql
只备份某个数据库中的部分表:
mysqlpump -u root -p db1 table1 table2 > backup_tables.sql
3. 使用并行线程加快备份
通过设置线程数提升备份性能:
mysqlpump -u root -p \ --default-parallelism=4 \ --chunk-filesize=100 \ --all-databases > backup_parallel.sql
- --default-parallelism=4:使用 4 个线程并行处理
- --chunk-filesize=100:每个文件块约 100MB,便于管理大备份
注意:并行性在处理大量小表时效果更明显。
4. 排除特定数据库或表
有时需要跳过系统库或临时数据:
mysqlpump -u root -p \ --exclude-databases=mysql,sys,information_schema \ --all-databases > clean_backup.sql
排除特定表(例如日志表):

篇文章是针对git版本控制和工作流的总结,如果有些朋友之前还没使用过git,对git的基本概念和命令不是很熟悉,可以从以下基本教程入手: Git是分布式版本控制系统,与SVN类似的集中化版本控制系统相比,集中化版本控制系统虽然能够令多个团队成员一起协作开发,但有时如果中央服务器宕机的话,谁也无法在宕机期间提交更新和协同开发。甚至有时,中央服务器磁盘故障,恰巧又没有做备份或备份没及时,那就可能有丢失数据的风险。感兴趣的朋友可以过来看看

0
查看详情

mysqlpump -u root -p db1 \ --exclude-tables=^log_,^temp_ \ > db1_no_logs.sql
5. 导出用户账号信息
默认情况下,mysqlpump 不导出用户。如需单独导出授权信息:
mysqlpump -u root -p \ --users \ --exclude-databases=% \ > users_backup.sql
此命令仅导出用户和权限,不包含业务数据。
6. 压缩备份输出
直接结合 gzip 压缩备份文件:
mysqlpump -u root -p --all-databases | gzip > backup.sql.gz
恢复时解压即可:
gunzip < backup.sql.gz | mysql -u root -p
7. 恢复备份文件
使用 mysql 命令导入备份:
mysql -u root -p < full_backup.sql
确保目标实例已存在所需数据库,或让备份包含 CREATE DATABASE 语句。
若备份中没有建库语句,可手动创建:
mysql -u root -p -e "CREATE DATABASE IF NOT EXISTS db1;"
8. 注意事项与建议
- mysqlpump 要求 MySQL 版本 >= 5.7,低版本无法使用
- 备份期间尽量避免结构变更操作
- 定期测试恢复流程,确保备份可用
- 敏感信息(如密码)不会明文存储在备份中
- 对于超大表,考虑分表导出或使用物理备份(如 Percona XtraBackup)
基本上就这些。mysqlpump 在多数场景下比 mysqldump 更快、更灵活,适合中大型数据库的日常逻辑备份任务。




