DDL日志
DDL日志或元数据日志记录由数据定义语句(例如DROP TABLE
和ALTER TABLE
) 生成的元数据操作 。MySQL使用此日志从元数据操作中间发生的崩溃中恢复。
- 当执行该语句
DROP TABLE t1, t2
,我们需要确保两个t1
和t2
被丢弃,并且每个表下降是完整的。 - 此类SQL语句的另一个示例是
ALTER TABLE t3 DROP PARTITION p2
,我们必须确保已完全删除该分区,并且已将其定义从t3
表的分区列表中删除。
诸如刚刚描述的元数据操作的记录被写入MySQL数据目录中的ddl_log.log
文件中。这是一个二进制文件;它不旨在被人阅读,并且您不应尝试以任何方式修改其内容。
直到需要记录元数据语句它时才创建ddl_log.log
,并在成功启动mysqld之后将其删除。因此,该文件可能不会出现在以完全正常方式运行的MySQL服务器上。
当前,ddl_log.log
最多可容纳1048573个条目,相当于4 GB=1048576。
5.7 版本的Bug #83708
超过此限制后,必须先重命名或删除文件,然后才能执行任何其他DDL语句。