redo log 和 binlog 的区别与联系有哪些总结?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1023个文字,预计阅读时间需要5分钟。
InnoDB的Redo Log和MySQL的Binlog区别:Redo Log是InnoDB引擎特有的,用于保证数据恢复;Binlog是MySQL Server层实现的,所有引擎都可以使用。
Redo Log是物理日志,记录的是在某个数据页上做了什么修改;Binlog是逻辑日志,记录的是做了什么修改。
1 redo log 和 binlog 的区别- redo log 是 InnoDB 引擎特有的;binlog 是 MySQL 的 Server 层实现的,所有引擎都可以使用。
- redo log 是物理日志,记录的是“在某个数据页上做了什么修改,实现 crash-safe,即使数据库发生异常重启,之前提交的记录都不会丢失。而binlog 是逻辑日志,记录的是写入性操作(不包括查询)信息,比如“给 ID=5 这一行的 c 字段加 1 ”,保证数据的一致性。
- redo log 是循环写的,空间固定会用完;binlog 是可以追加写入的。“追加写”是指 binlog 文件写到一定大小后会切换到下一个,并不会覆盖以前的日志。
-
binlog 仅在事务提交时记录,并且对于每一个事务,仅包含对应事务的一个日志。而对于 redo log,由于其记录的是物理操作日志,因此每个事务对应多个日志条目。
本文共计1023个文字,预计阅读时间需要5分钟。
InnoDB的Redo Log和MySQL的Binlog区别:Redo Log是InnoDB引擎特有的,用于保证数据恢复;Binlog是MySQL Server层实现的,所有引擎都可以使用。
Redo Log是物理日志,记录的是在某个数据页上做了什么修改;Binlog是逻辑日志,记录的是做了什么修改。
1 redo log 和 binlog 的区别- redo log 是 InnoDB 引擎特有的;binlog 是 MySQL 的 Server 层实现的,所有引擎都可以使用。
- redo log 是物理日志,记录的是“在某个数据页上做了什么修改,实现 crash-safe,即使数据库发生异常重启,之前提交的记录都不会丢失。而binlog 是逻辑日志,记录的是写入性操作(不包括查询)信息,比如“给 ID=5 这一行的 c 字段加 1 ”,保证数据的一致性。
- redo log 是循环写的,空间固定会用完;binlog 是可以追加写入的。“追加写”是指 binlog 文件写到一定大小后会切换到下一个,并不会覆盖以前的日志。
-
binlog 仅在事务提交时记录,并且对于每一个事务,仅包含对应事务的一个日志。而对于 redo log,由于其记录的是物理操作日志,因此每个事务对应多个日志条目。

