二进制日志
March 20, 2026 · View on GitHub
二进制日志(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 用的,而是给数据安全和高可用体系使用的。