redolog(重做日志 - innodb引擎层特有)
1 | MySQL使用AWL(Write-Ahead Logging)技术, 当有记录需要更新的时候、innodb就先把记录写到redo log、并更新内存、这时、更新就算完成. 当innodb引擎比较空闲的时候、会将操作更新到磁盘 |
binlog(归档日志 - MySQL server层实现)
1 | mysql引擎实现的日志、与redo log 的差异? |
为什么有redo log 和 binlog ?
1 | sync_binlog: 1 - 每次都持久化到磁盘 |
update语句执行
1 | update table set c=c+1 where id=2 |
为什么需要两阶段提交
1 | redo log 和 binlog 是两个独立的逻辑、若不使用两阶段提交、则会是2种情况 |
疑问
1 | 1. binlog 是每次update都会写磁盘? |