MySQL中ddl_log.log初步认识

今天发现测试数据库环境里在凌晨00:00时产生的一个日志文件-ddl_log.log,打开内容几乎是杂乱无章的,只有零散的信息,感觉和表中分区有关系,然后推断可能是因为定时event在00:00时调用函数进行表的添加和删除分区时生成的,但是具体原因无法确定。

下面是官方手册The DDL Log章节

https://dev.mysql.com/doc/refman/5.6/en/ddl-log.html

DDL日志或元数据日志记录由数据定义语句(如DROP TABLE和ALTER TABLE)生成的元数据操作。 MySQL使用此日志从元数据操作中发生的crash中恢复。当执行语句DROP TABLE t1,t2时,我们需要确保t1和t2都被删除,并且每个表的drop都完成。这种类型的SQL语句的另一个例子是ALTER TABLE t3 DROP PARTITION p2,其中我们必须确保分区被完全删除,并且其定义从表t3的分区列表中删除。

诸如刚描述的元数据操作的记录被写入MySQL数据目录(datadir)中的文件ddl_log.log中。
这是一个二进制文件;它不是想要人为可读的,所以你不应该以任何方式尝试修改其内容。

在实际需要记录元数据语句之前,不会创建ddl_log.log,并在mysqld成功启动后被删除。因此,该文件可能不会以完全正常的方式运行在MySQL服务器上。

目前,ddl_log.log最多可容纳1048573个输入,大小相当于4 GB。超出此限制后,您必须重命名或删除该文件,才能执行任何其他DDL语句。
这是我们正在努力解决的一个已知问题(Bug#83708)。

现在没有用户可配置的与此文件关联的服务器选项或变量。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值