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