在 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也可以分别指定不同对象的线程数:
mysqlpump -u root -p \ --add-drop-table \ --parallel-schemas=4=db1,db2,db3 \ db1 db2 db3 > partial_parallel.sql3. 精细化控制备份内容
你可以按需排除或包含特定数据库、表或对象类型。
排除某些数据库:使用--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.sql4. 启用压缩节省空间
mysqlpump 支持直接压缩输出,使用
--compress-output参数可显著减小备份文件体积。
支持的压缩算法有:
LZ4和
ZLIB(也支持
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 能有效提升备份效率,特别是在大数据库或多库环境下。注意权限、磁盘空间和网络稳定性,确保备份完整可靠。
