跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

mysql如何使用mysqlpump备份_mysql mysqlpump备份方法

mysqlpump是MySQL 5.7+的多线程逻辑备份工具,支持并行导出、压缩和选择性备份,语法为mysqlpump [options] [db[tbl]] > backup.sql,可备份所有或指定数据库、表,通过--default-parallelism、--compress-output等参数提升性能,支持排除系统库或特定对象,恢复时使用mysql命令导入,适用于大规模数据库高效备份。 MySQL 使用 mysqlpump 进行备份是一种高效、多线程的逻辑备份工具,从 MySQL 5.7 版本开始提供,作为 mysqldump 的增强替代方案。它支持并行导出数据,提升备份速度,并可灵活选择数据库、表或对象类型进行备份。 1. mysqlpump 基本语法 使用 mysqlpump 备份的基本命令格式如下:
mysqlpump [options] [db_name [tbl_name ...]] > backup.sql
如果不指定数据库,则默认备份所有数据库。 2. 常见备份操作示例 备份所有数据库
mysqlpump -u root -p --all-databases > full_backup.sql
该命令会导出所有数据库的数据和定义,推荐用于全量备份。 备份指定数据库
mysqlpump -u root -p mydatabase > mydb_backup.sql
只备份名为 mydatabase 的数据库。 备份多个指定数据库
mysqlpump -u root -p --databases db1 db2 db3 > multi_db_backup.sql
可以同时备份多个数据库,每个数据库结构和数据都会包含在内。 备份特定表 MySQL(Linux) MySQL 9.6.0是面向Linux平台的2026年创新版本,核心架构迎来重大革新。其将外键约束与级联操作从InnoDB引擎层上移至SQL层,确保所有数据变更均被完整记录至Binlog,彻底解决了CDC(变更数据捕获)与主从复制中的数据不一致难题。此外,该版本引入container_aware启动选项以原生适配容器环境,并对审计日志进行了组件化重构,为追求极致数据一致性与云原生体验的开发者提供了全新选择。 下载
mysqlpump -u root -p mydatabase table1 table2 > partial_backup.sql
仅导出 mydatabase 中的 table1 和 table2 表。 3. 提升性能的常用选项 mysqlpump 支持多线程导出,可通过以下参数优化备份速度: --default-parallelism=N :设置默认并行线程数(如 N=4) --parallel-schemas=[N:]db1,db2 :为指定数据库设置并行导出 --add-drop-table :导出时添加 DROP TABLE 语句 --compress-output=ZLIB :压缩输出以减少文件大小(支持 ZLIB、LZ4、NONE) 示例:启用压缩和并行处理
mysqlpump -u root -p --all-databases --compress-output=ZLIB --default-parallelism=4 > compressed_backup.sql.zlib
4. 排除某些内容 可通过选项排除特定数据库或对象: --exclude-databases=mysql,sys :跳过系统数据库 --exclude-tables=^temp_ :排除表名匹配 正则表达式 的表 --skip-users :不导出用户账户信息 --skip-grant-tables :不导出权限表 例如,只备份业务库,排除系统库:
mysqlpump -u root -p --exclude-databases=mysql,information_schema,sys --all-databases > business_backup.sql
5. 恢复备份文件 使用 mysql 命令恢复 mysqlpump 生成的备份:
mysql -u root -p < backup.sql
如果备份文件被压缩(如 zlib),需先解压或通过管道处理:
mysqlpump -u root -p --execute="SOURCE compressed_backup.sql.zlib" --decompress-input
基本上就这些。mysqlpump 在处理 大数据 库时比 mysqldump 更快,尤其适合需要并行导出和压缩的场景。注意定期测试备份文件的可恢复性,确保数据安全。

相关文章