Molenpad Asked: 2018-12-01 08:33:23 +0800 CST2018-12-01 08:33:23 +0800 CST 2018-12-01 08:33:23 +0800 CST 显示所有二进制日志的创建日期 772 我正在寻找一种方法来扩展 SHOW BINARY LOGS 命令以显示创建日期,或者至少显示每个日志适用的时间范围。 有没有办法在 MySQL 中做到这一点,还是我必须单独阅读每个日志以检查它涵盖的时间段? mysql 1 个回答 Voted Best Answer jynus 2018-12-01T10:22:20+08:002018-12-01T10:22:20+08:00 MySQL 不存储有关二进制日志的元数据(嗯,它确实,但仅用于控制当前和/或执行的命令,而不是关于二进制日志本身)。 您可以使用SHOW BINLOG EVENTS读取实际的二进制日志,但这很可能不会有帮助,而且会非常慢(它只是读取日志)。是的,我能想到的唯一方法是读取实际日志mysqlbinlog并检查第一个和最后一个事件的日志位置之后的第二行。 # at 256 #181130 9:28:36 server id 123 end_log_pos 545 如果您不需要确切的日期,可能有避免读取整个日志的快捷方式 -您可以使用文件系统元数据的 mtime(上次修改时间)来获得上次写入时间的近似值(但不会不是 100% 准确——刷新可能会被文件系统延迟,并且写入日志的时间可能与执行事务的时间不同。但如果您只想查找之前的特定事件,这可能是一种捷径只阅读您感兴趣的内容。
MySQL 不存储有关二进制日志的元数据(嗯,它确实,但仅用于控制当前和/或执行的命令,而不是关于二进制日志本身)。
您可以使用
SHOW BINLOG EVENTS
读取实际的二进制日志,但这很可能不会有帮助,而且会非常慢(它只是读取日志)。是的,我能想到的唯一方法是读取实际日志mysqlbinlog
并检查第一个和最后一个事件的日志位置之后的第二行。如果您不需要确切的日期,可能有避免读取整个日志的快捷方式 -您可以使用文件系统元数据的 mtime(上次修改时间)来获得上次写入时间的近似值(但不会不是 100% 准确——刷新可能会被文件系统延迟,并且写入日志的时间可能与执行事务的时间不同。但如果您只想查找之前的特定事件,这可能是一种捷径只阅读您感兴趣的内容。