MySQL的三大关键日志:Bin Log、Redo Log与Undo Log
- 1. Bin Log(二进制日志)
- 2. Redo Log(重做日志)
- 3. Undo Log(回滚日志)
💖The Begin💖点点关注,收藏不迷路💖 |
在MySQL中,有三种核心日志对于数据的安全、恢复和一致性至关重要:
1. Bin Log(二进制日志)
- 作用:记录所有修改数据库的操作(不包括SELECT和SHOW),用于数据恢复和复制。
- 特点:数据库级别的日志,记录SQL语句的原始形式。
2. Redo Log(重做日志)
- 作用:确保InnoDB存储引擎事务的持久性,即使系统崩溃也能恢复事务的修改。
- 特点:物理日志,记录数据页的变化,而不是SQL语句。
- 关键参数:
innodb_flush_log_at_tx_commit
控制日志写入磁盘的时机。
3. Undo Log(回滚日志)
- 作用:实现事务的原子性和MVCC(多版本并发控制),记录修改前的数据状态。
- 特点:用于撤销事务的修改,并支持数据的历史版本查询。
这三种日志共同协作,保障了MySQL数据库的数据完整性和高可靠性。
💖The End💖点点关注,收藏不迷路💖 |