如何在mysql中使用mysqlpump备份

mysqlpump是MySQL 5.7+的并行备份工具,支持线程、细粒度控制和压缩;可通过–default-parallelism提升性能,–exclude-databases等选项过滤数据,–compress-output实现LZ4/ZLIB压缩,有效提高备份效率与灵活性。

如何在mysql中使用mysqlpump备份

在 MySQL 中,mysqlpump 是一个用于逻辑备份的命令行工具,从 MySQL 5.7 版本开始提供,是 mysqldump 的增强替代工具,支持并行备份、更细粒度的对象控制以及压缩功能。下面介绍如何使用 mysqlpump 进行数据库备份

1. 基本语法与简单备份

mysqlpump 的基本语法如下:

mysqlpump [options] [db_name [tbl_name …]]

例如,备份单个数据库

mysqlpump -u root -p mydatabase > mydatabase_backup.sql

如果需要备份多个数据库,可以列出它们:

mysqlpump -u root -p db1 db2 > multi_db_backup.sql

要备份所有数据库(包括系统库),使用 --all-databases 选项:

mysqlpump -u root -p –all-databases > full_backup.sql

2. 并行备份提升性能

mysqlpump 支持多线程并行导出,通过 --default-parallelism 或为不同对象类型设置线程数来加速备份。

例如,启用 4 个并行线程进行备份:

mysqlpump -u root -p –default-parallelism=4 –all-databases > parallel_backup.sql

也可以分别指定不同对象的线程数:

如何在mysql中使用mysqlpump备份

如知AI笔记

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

如何在mysql中使用mysqlpump备份27

查看详情 如何在mysql中使用mysqlpump备份

mysqlpump -u root -p –add-drop-table –parallel-schemas=4=db1,db2,db3 db1 db2 db3 > partial_parallel.sql

3. 精细化控制备份内容

你可以按需排除或包含特定数据库、表或对象类型。

  • 排除某些数据库:使用 --exclude-databases
  • 只备份特定表:在命令后指定表名
  • 跳过某些对象类型,如视图、存储过程等

示例:备份除系统库外的所有用户数据库

mysqlpump -u root -p –exclude-databases=mysql,sys,information_schema,performance_schema –all-databases > user_dbs.sql

只备份某个数据库中的几张表:

mysqlpump -u root -p mydb table1 table2 > tables_backup.sql

4. 启用压缩节省空间

mysqlpump 支持直接压缩输出,使用 --compress-output 参数可显著减小备份文件体积。

支持的压缩算法有:LZ4ZLIB(也支持 NONE

mysqlpump -u root -p –compress-output=LZ4 –all-databases > compressed_backup.sql.lz4

恢复时需先解压(如使用 lz4 工具):

lz4 -d compressed_backup.sql.lz4 | mysql -u root -p

基本上就这些。合理使用 mysqlpump 能有效提升备份效率,特别是在大数据库或多库环境下。注意权限、磁盘空间和网络稳定性,确保备份完整可靠。

上一篇
下一篇
text=ZqhQzanResources