1. 分类:
redo log: 重做日志(循环日志)-> 粉板
binlog: 归档日志 -> 账本
2. 区别:
这两种日志有以下三点不同。
1. redo log是InnoDB引擎特有的; binlog是MySQL的Server层实现的, 所有引擎都可以使用。
2. redo log是物理日志, 记录的是“在某个数据页上做了什么修改”; binlog是逻辑日志, 记录的
是这个语句的原始逻辑, 比如“给ID=2这一行的c字段加1 ”。
3. redo log是循环写的, 空间固定会用完; binlog是可以追加写入的。 “追加写”是指binlog文件
写到一定大小后会切换到下一个, 并不会覆盖以前的日志。
4. InnoDB使用另外一套日志系统— — 也就是redo log来实现crash-safe能力。
3.update过程:
4. 两阶段提交
redo log和binlog都可以用于表示事务的提交状态, 而两阶段提交就是让这两个状态保
持逻辑上的一致。
5.附加
undolog:做日志回滚,保证事务原子性。