MySQL 的 redo log 和 binlog 区别?
1 个回答
勇敢一点吧!我们不会比今年更年轻了。萧薰儿 ### MySQL 中 Redo Log 和 BinLog 的区别 1. **来源不同**: - **Redo Log**:属于 InnoDB 引擎特有的功能。 - **BinLog**:是 MySQL Server 自带的功能,作为二进制文件记录。 2. **记录方式不同**: - **Redo Log**:是物理日志,记录的是具体某个数据页上的修改内容(如某个数据页做了什么修改)。 - **BinLog**:是逻辑日志,记录的是操作的逻辑过程(如给 ID=2 的记录的 `c` 字段加 1)。 3. **写入机制不同**: - **Redo Log**:采用循环写入的方式,日志空间大小是固定的,会覆盖使用旧日志。 - **BinLog**:采用追加写入的方式,每次写入后直接写下一个,不会覆盖已有日志。 4. **用途不同**: - **Redo Log**:用于服务器宕机后进行事务的自动恢复,保证 crash-safe 能力。 - **BinLog**:用于主从复制和数据恢复,但没有自动 crash-safe 的能力。发布于 2024-09-03 21:14 •IP属地 内蒙古举报评论收藏
公众号进入网站体验更佳

