二进制日志(Binary Log)用于记录会导致数据发生变化的操作,是主从复制和基于时间点恢复的重要基础。
通常需要在 MySQL 配置文件中开启二进制日志,例如设置:
log-bin=mysql-bin开启后,数据库会把重要的数据变更写入二进制日志文件。
查看当前有哪些二进制日志文件,可以使用:
SHOW BINARY LOGS;查看当前正在使用的二进制日志:
SHOW MASTER STATUS;如果想查看日志内容,通常可以借助 mysqlbinlog 工具。
如果历史日志过多,可以清理:
PURGE BINARY LOGS TO 'mysql-bin.000010';或按时间清理:
PURGE BINARY LOGS BEFORE '2026-03-01 00:00:00';删除前要确认这些日志是否仍用于恢复或复制。
如果已经做过全量备份,再配合二进制日志,就可以做基于时间点恢复。
常见思路是:
- 先恢复最近一次全量备份
- 再回放之后的二进制日志
这也是二进制日志非常重要的价值所在。
在某些特殊场景下,可以临时关闭当前会话的二进制日志记录,例如批量导入或特殊维护操作。
是否允许关闭,取决于配置与权限。
二进制日志最核心的价值是“恢复”和“复制”。它不是给日常查看 SQL 用的,而是给数据安全和高可用体系使用的。