redo log
- WAL(write-ahead logging),先写日志,再写磁盘
- crash-safe
- innodb_flush_log_at_trx_commit参数设置为1,每次事务的redo log都直接持久化到磁盘。
- 记录做了什么改动,记结果。
binlog归档日志
- sync_binlog参数设置为1,每次事务的binlog都持久化到磁盘。
- statement记录sql, row 记录更新前,更新后的内容。mixed,专用于备份。
区别
- redo log是innodb特有的,binlog是MySQL server层共有的。
- redo log是循环写,binlog是追加写
- redo log是物理日志, binlog是逻辑日志。
两阶段提交
- 跨系统维持数据逻辑一致性。