首页/数据/数据库速查/mysqldump 一致性快照(--single-transaction)
备份与恢复56 条

mysqldump 一致性快照(--single-transaction)

InnoDB 场景必备参数:导出前开启 REPEATABLE READ 一致性快照,多表导出期间不锁表,得到同一时间点的数据视图。

数据库速查数据更新于 2026-10-12
用途不锁表的一致性备份
适用仅 InnoDB 表;MyISAM 等非事务引擎不提供保护
典型命令mysqldump --single-transaction --skip-lock-tables

线上标准写法

线上标准写法
mysqldump -uroot -p --single-transaction --skip-lock-tables \
  --quick --routines --events --triggers \
  --databases appdb > appdb_$(date +%F).sql
备份期间尽量避免 DDL(ALTER/TRUNCATE):DDL 会拿元数据锁,可能等住备份或破坏快照语义。

易错点

  • 该选项只保护 InnoDB;库里混有 MyISAM 表时那部分数据仍可能不一致
  • 它会让 --lock-tables 失效,但保险起见显式加 --skip-lock-tables 避免误锁

数据来源与参考

  • MySQL 8.0 Reference Manual: mysqldump --single-transaction

相关工具

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