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

mysqldump 排除表(--ignore-table)

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

数据库速查数据更新于 2026-10-12
语法--ignore-table=db.table(必须带库名)
多条每条排除一个表;不支持通配符
生成列表用 information_schema 查表名拼参数

排除大日志表

排除大日志表
mysqldump -uroot -p --single-transaction \
  --ignore-table=appdb.access_log \
  --ignore-table=appdb.tmp_cache \
  --databases appdb > appdb_no_logs.sql

生成排除参数列表

生成排除参数列表
SELECT CONCAT('--ignore-table=', table_schema, '.', table_name) AS opt
FROM information_schema.tables
WHERE table_schema = 'appdb' AND table_name LIKE 'log\_%';
注意区分:--ignore-table 的「库.表」写法与库内通配不同;表名可用 escape 后在 LIKE 里匹配(见右侧 SQL)。

易错点

  • 写成 --ignore-table=appdb.log_* 无效:不支持通配符,必须逐表列出
  • 表名大小写敏感(Linux 上默认区分),库名表名写错会静默不排除

数据来源与参考

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

相关工具

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