关于tidb_ddl_history
表中数据的清理策略,TiDB并没有一个固定的内部机制来自动清理这些历史记录。这个表的设计初衷是为了提供DDL操作的审计和回溯能力,因此,表中的数据会一直保留,直到被显式删除。
DDL 操作记录的保留特性
tidb_ddl_history用于持久化 DDL 操作历史,默认设计为长期保留以支持审计、故障排查等场景。系统不会自动清理此表数据,需手动干预或配置策略。
手动清理,显式删除操作(请在测试环境验证)
通过执行ADMIN SHOW DDL JOBS或直接查询tidb_ddl_history表,可获取历史 DDL 任务记录。若需清理,需手动执行DELETE语句(例如按时间范围删除)。
例如通过定时任务执行 SQL 语句删除早于指定时间的历史记录:
DELETE FROM mysql.tidb_ddl_history WHERE start_time < ‘2023-01-01 00:00:00’;
一般来说是不会自动清理的,可以自己加清理机制。
此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。