redo log和binlog的区别
Redo Log(重做日志):
-
作用:
- Redo Log是InnoDB存储引擎特有的一种日志,用于确保数据库的事务持久性和恢复能力。
-
特点:
- 存储在InnoDB的数据文件中,而不是作为单独的日志文件。
- 记录的是物理数据页的更改信息,而不是逻辑操作。
- 在事务提交时,将事务对数据页的物理修改操作记录到Redo Log中。
- 用于恢复数据库的数据,当数据库发生异常宕机时,根据Redo Log中的记录重新执行事务,保证事务的持久性。
Binlog(二进制日志):
-
作用:
- Binlog是MySQL服务器层产生的日志,记录了数据库的所有逻辑更改操作。
-
特点:
- 是以逻辑格式记录的日志,包含了对数据库进行修改的SQL语句。
- 存储在独立的二进制日志文件中(如
mysql-bin.000001
)或作为表格中的记录。 - 用于数据库复制、恢复和备份,以及实现主从复制功能。