首页/数据/数据库速查/mysqldump 锁与流式导出(--quick / --lock-tables)
本包目录(495 条)
MySQL 基础与连接36 条SQL 语法52 条用户与权限21 条
备份与恢复56 条
主从复制与高可用53 条性能与调优57 条Redis 命令96 条Redis 运维与场景124 条

mysqldump 锁与流式导出(--quick / --lock-tables)

--quick 逐行流式导出不缓存整个结果集,大表必开;--lock-tables 与 --single-transaction 语义冲突,线上备份应跳过锁表。

数据库速查数据更新于 2026-10-12
--quick不把结果集全部读入客户端内存(-q)
--lock-tables导出前锁所有表(--opt 默认隐含)
--skip-lock-tables明确跳过锁表,配合 --single-transaction

线上推荐组合

线上推荐组合
mysqldump -uroot -p --single-transaction --skip-lock-tables --quick \
  --databases appdb > appdb.sql
文档明确 --single-transaction 会自动关闭 --lock-tables;显式加 --skip-lock-tables 让意图更清晰。

易错点

  • 忘加 --quick 导大表时客户端内存暴涨,甚至被 OOM Killer 杀掉导致半截备份
  • MyISAM 表不适用 --single-transaction,仍需锁表保证一致性

数据来源与参考

  • MySQL 8.0 Reference Manual: mysqldump --quick

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌