首页/数据/数据库速查/mysqldump 重建表保护(--add-drop-table)
本包目录(495 条)
MySQL 基础与连接36 条SQL 语法52 条用户与权限21 条
备份与恢复56 条
主从复制与高可用53 条性能与调优57 条Redis 命令96 条Redis 运维与场景124 条

mysqldump 重建表保护(--add-drop-table)

默认每个表前带 DROP TABLE IF EXISTS,保证恢复时结构干净重建;--skip-add-drop-table 用于把数据追加进已有表或合并多份备份。

数据库速查数据更新于 2026-10-12
默认--add-drop-table 开启,恢复前先删同名表
关闭--skip-add-drop-table:只建表/只插数据
场景追加合并、多分片汇总时关闭

追加合并场景

追加合并场景
mysqldump -uroot -p --skip-add-drop-table --skip-add-locks \
  --no-create-info appdb orders > orders_append.sql
在生产库执行带 DROP TABLE 的备份文件等于先删表再重建——重大操作,先核对目标实例。

易错点

  • 带了 DROP 的备份在错误实例恢复会直接清掉线上表:执行前 double check 连接参数
  • --skip-add-drop-table 叠加已有数据时要自行处理主键冲突(配合 --insert-ignore)

数据来源与参考

  • MySQL 8.0 Reference Manual: mysqldump --add-drop-table

相关工具

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