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