尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

MySQLdump 常用参数说明 - 实践

MySQLdump 常用参数说明 - 实践
📅 发布时间:2026/6/20 11:54:38

MySQLdump 常用参数说明 - 实践

2025-10-24 18:04  tlnshuju  阅读(0)  评论(0)    收藏  举报

mysqldump 是 MySQL 官方提供的逻辑备份工具,用于将数据库导出为 SQL 文件,支持全库、单库、单表、结构、数据等灵活备份方式。

系统介绍 mysqldump 的常用参数。
特别是 如何备份存储过程中的注释,在数据恢复时,将存储过程和函数的注释全部恢复

1.mysqldump 常用参数详解(按功能分类)

一、基础备份参数

参数缩写作用
--all-databases-A备份所有数据库
--databases-B备份指定的多个数据库(会包含 CREATE DATABASE 语句)
--databases db1 db2备份 db1 和 db2
db_name只备份指定数据库(不加 -B)
mysqldump -u root -p --all-databases > all.sql
mysqldump -u root -p --databases db1 db2 > db1_db2.sql
mysqldump -u root -p db_name > db.sql

二、结构与数据控制

参数缩写作用
--no-data-d只导出表结构(CREATE TABLE),不导出 INSERT 语句
--no-create-info-t只导出数据(INSERT),不导出 CREATE TABLE
--routines-R导出存储过程和函数
--triggers导出触发器(默认开启)
--events-E导出事件调度器
--skip-triggers不导出触发器
--comments强制保留注释
# 只导出结构
mysqldump -u root -p --no-data db_name > schema.sql
# 只导出数据
mysqldump -u root -p --no-create-info db_name > data.sql
# 导出结构 + 数据 + 存储过程 + 事件 ,有注释信息
mysqldump -u root -p --routines --events --comments db_name > full.sql

三、性能与一致性控制

参数作用
--single-transaction使用 REPEATABLE READ 事务隔离,保证一致性,不锁表(适用于 InnoDB)
--lock-tables备份前锁定所有表(MyISAM 需要,InnoDB 不推荐)
--lock-all-tables锁定所有数据库的所有表(类似 FLUSH TABLES WITH READ LOCK)
--quick逐行读取,避免将整个结果集加载到内存(默认开启)
--extended-insert使用批量插入(INSERT INTO tbl VALUES (),(),()),加快导入速度(默认开启)
--net-buffer-length设置网络传输缓冲区大小,大值可提升速度
# 推荐 InnoDB 备份方式
mysqldump -u root -p --single-transaction --routines db_name > backup.sql

四、GTID 与复制相关

参数作用
--set-gtid-purged=OFF不导出 SET @@GLOBAL.GTID_PURGED(避免导入时冲突)
--set-gtid-purged=AUTO自动判断是否导出(默认)
--set-gtid-purged=ON强制导出 GTID 信息(用于搭建从库)
--master-data=1添加 CHANGE MASTER TO 语句,用于主从复制(=1 为 CHANGE 语句,=2 为注释)
# 用于搭建从库
mysqldump -u root -p --master-data=2 --single-transaction db_name > slave.sql
# 避免 GTID 冲突(开发环境推荐)
mysqldump -u root -p --set-gtid-purged=OFF db_name > backup.sql

五、输出格式控制

参数作用
--compact精简输出(去除注释、多余换行等)
--compatible=name兼容其他数据库模式(如 postgresql, oracle)
--hex-blob使用十六进制表示 BLOB 字段(避免乱码)
--no-autocommit每个 INSERT 前加 SET autocommit=0;,提升导入速度
--order-by-primary按主键排序导出数据(可读性好,但慢)
# 导出时禁用 autocommit,加快导入
mysqldump -u root -p --no-autocommit --extended-insert db_name > fast.sql

六、过滤与选择性备份

参数作用
--ignore-table=db.table忽略某个表
--tables只备份指定表(即使前面有 -B)
--where="condition"只导出满足条件的数据
# 忽略日志表
mysqldump -u root -p --ignore-table=db.log_table db_name > backup.sql
# 只导出部分数据
mysqldump -u root -p --where="created_at > '2025-01-01'" db_name user_table > recent_users.sql

2. 推荐备份命令示例

1. 生产环境完整备份(InnoDB)

mysqldump \
--single-transaction \
--routines \
--triggers \
--events \
--set-gtid-purged=OFF \
--no-autocommit \
-u root -p \
db_name > backup_$(date +%Y%m%d).sql

2. 只备份结构

mysqldump -u root -p --no-data --routines db_name > schema.sql

3. 只备份数据

mysqldump -u root -p --no-create-info --extended-insert db_name > data.sql

4. 只备份存储过程和函数

mysqldump -u root -p --no-create-info --no-data  --set-gtid-purged=OFF --commentsdb_name db_name > routine.sql

存储过程恢复,包括注释信息!!!

mysql -uroot -p  db_name < routine.sql --comments

一定有 --comments 参数,否则注释就丢失了。

3. 总结

目的推荐参数组合
全库备份--all-databases --single-transaction --routines --events
单库备份--single-transaction --routines --set-gtid-purged=OFF
只导结构--no-data --routines
只导数据--no-create-info --extended-insert
避免 GTID 冲突--set-gtid-purged=OFF
快速导入--no-autocommit --extended-insert
备份注释信息--comments

相关新闻

  • 2025 10 24日报
  • 一天一款实用的AI工具,第9期,AI转黏土风格
  • 生产环节最容易出问题的三个点,老板必须盯紧

最新新闻

  • Express.js终极实战指南:从零构建企业级Web应用
  • 嵌入式GUI显示驱动配置实战:从emWin框架到自定义驱动开发
  • YOLOv8轻量微调方案:C2PSA注意力与Mona认知适配器集成
  • 照片清晰度不够,用这个方法无损提升细节 - 软件工具教程方法
  • 海南怎么登报挂失?2026最新流程避坑指南 - 资讯速览
  • 2026南宁奢侈品回收行业白皮书:出手名贵腕表怕信息泄露,私密交易一对一全程保护隐私 - 讯息早知道

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号