首页/数据/数据库速查/mysqldump 排除表(--ignore-table)
备份与恢复56 条

mysqldump 排除表(--ignore-table)

用 --ignore-table=库.表 排除不需要备份的表(大日志表、缓存表、分表归档),每个表一条参数,支持重复出现。

数据库速查数据更新于 2026-10-13

mysqldump 排除表是什么

--ignore-table 让备份时跳过指定的表:access_log、tmp_cache、按月分的历史归档表这类体积大又不需要备份的表,排除后 dump 明显变小、耗时明显缩短。它必须写成「库名.表名」,一张表一条参数,重复出现即可排除多张,不支持通配符。

基本信息

适用版本mysqldump 全系列(MySQL 5.7 / 8.0 客户端)
语法--ignore-table=db.table(必须带库名)
多表每条排除一张表,参数可重复出现
通配符不支持,无法写成 appdb.log_*
生成方式用 information_schema 查表名拼出参数列表
替代手段--tables 只导出白名单表;--where 做行级过滤

典型使用场景

  • 全库备份时跳过大日志表,把备份窗口压到可接受范围
  • 跳过缓存表与临时表:这些表数据可从上游重建,备份无意义
  • 跳过按月分表的历史归档:单独用物理备份或归档策略处理
  • 导出跨库汇总数据时排除某个库的系统辅助表
  • 缩小传给测试环境的 dump 体积,只保留业务核心表

排除大日志表

排除大日志表
# 每条 --ignore-table 排除一张表,必须带库名
mysqldump -uroot -p --single-transaction \
  --ignore-table=appdb.access_log \
  --ignore-table=appdb.tmp_cache \
  --ignore-table=appdb.msg_archive_2026 \
  --databases appdb > appdb_no_logs.sql

# 导出后核对实际包含的表,确认排除生效
mysqldump -uroot -p appdb --no-data | grep '^CREATE TABLE'

生成排除参数列表

生成排除参数列表
-- 查出需要排除的表,直接拼成命令行参数
SELECT CONCAT('--ignore-table=', table_schema, '.', table_name) AS opt
FROM information_schema.tables
WHERE table_schema = 'appdb'
  AND (table_name LIKE 'log\_%' OR table_name LIKE 'tmp\_%' OR table_name LIKE '%\_archive\_%')
ORDER BY table_name;

同类参数与区别

参数粒度说明
--ignore-table表(排除)写「库.表」,无通配符,可重复
--tables表(白名单)只导出后面列出的表,等价于反向做法
--no-data结构只导建表语句,不导数据
--where行按条件过滤行,对所有目标表生效
--all-databases全部库与排除参数同用时逐库对照,注意库名大小写
排除清单要和业务确认:被忽略的表若在恢复时被应用访问,会表现为「表不存在」或数据为空;建议把排除清单写进备份脚本注释并纳入变更评审。
表名大小写敏感(Linux 上默认区分大小写):排除项与实际表名不一致时该表仍会被导出,备份完成后用 grep 'CREATE TABLE' 或 SHOW TABLES 核对实际包含的表清单,别只看命令是否报错。

易错点

  • 写成 --ignore-table=appdb.log_* 期望通配:参数不支持通配符,实际一张表都没排除
  • 忘写库名只写表名:参数无效或被解析成别的东西,排除目的落空
  • 排除表后没更新恢复文档:恢复时应用报表不存在,现场无人知道这张表是有意不备份的
  • 把需要长期保留的审计表放进排除清单省空间:合规数据丢失且无法从其他来源恢复
  • 备份脚本里用变量拼接表名但未做引号处理:表名含特殊字符时参数被 shell 拆开,排除范围出错

数据来源与参考

  • MySQL 8.0 Reference Manual: mysqldump --ignore-table

相关工具

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