当数据库 crash 后,如何恢复未刷盘的数据到内存中?
it培训吧
全部回复
仅看楼主
level 8
1158810618 楼主
根据 redo log 和 binlog 的两阶段提交,未持久化的数据分为几种情况:
change buffer 写入,redo log 虽然做了 fsync 但未 commit,binlog 未 fsync 到磁盘,这部分数据丢失。
change buffer 写入,redo log fsync 未 commit,binlog 已经 fsync 到磁盘,先从 binlog 恢复 redo log,再从 redo log 恢复 change buffer。
change buffer 写入,redo log 和 binlog 都已经 fsync,直接从 redo log 里恢复。
2023年02月16日 08点02分 1
level 12
[真棒]
2023年02月17日 01点02分 2
1