【面试题精讲】mysql-redolog和binlog区别

2023-10-23 09:09:04 浏览数 (1)

特性

redo log

binlog

记录的内容

数据库的物理操作

数据库的逻辑操作

记录的位置

存储在磁盘上的 redo log 文件

存储在磁盘上的 binlog 文件

记录的时机

在事务提交时记录

在语句执行时记录

记录的方式

循环写入方式

追加写入方式

记录的作用

用于恢复数据库

用于复制和恢复数据库

redo logbinlog 是 MySQL 数据库中的两种日志文件,它们都可以用于恢复数据库。但是它们记录的内容、位置、时机、方式和作用都有所不同。

redo log 记录的是数据库的物理操作,比如页的修改等。它的记录方式是循环写入方式,即当 redo log 文件写满时,会从文件头重新开始写入,覆盖最早的记录。redo log 文件存储在磁盘上,用于恢复数据库。

binlog 记录的是数据库的逻辑操作,比如 SQL 语句的执行等。它的记录方式是追加写入方式,即每次写入新的日志都会追加在文件末尾。binlog 文件存储在磁盘上,主要用于复制和恢复数据库。

在记录的时机上,redo log 是在事务提交时记录,而 binlog 是在语句执行时记录。

在记录的作用上,redo log 主要用于恢复数据库,而 binlog 主要用于复制和恢复数据库。

综上所述,redo log 和 binlog 在记录的内容、位置、时机、方式和作用上都有所不同,开发者应该根据实际需求选择合适的日志文件来完成相应的操作。

0 人点赞