binlog日志_mysql日志系统
生活随笔
收集整理的這篇文章主要介紹了
binlog日志_mysql日志系统
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
redo log
WAL(Write-Ahead Logging) 日志先落盤(日志寫到log buffer, 提交時寫到logfile),數據再落盤。
多個日志文件環狀寫,寫到checkpoint就停止修改數據庫的操作,等到數據都落盤以后再重新開始寫日志。
redo log可以保證crashsafe。
crash safe:只要提交成功,數據就必定可以retrieve。(前提是硬盤沒有物理損壞)
binlog
1、redo log 是 InnoDB 引擎特有的;binlog 是 MySQL 的 Server 層實現的,所有引擎都可以使用。
2、redo log 是物理日志,記錄的是“在某個數據頁上做了什么修改”;binlog 是邏輯日志,記錄的是這個語句的原始邏輯,比如“給 ID=2 這一行的 c 字段加 1 ”。
3、redo log 是循環寫的,空間固定會用完;binlog 是可以追加寫入的。“追加寫”是指 binlog 文件寫到一定大小后會切換到下一個,并不會覆蓋以前的日志。
mysql兩階段提交
redo log落盤->進入prepare狀態->binlog落盤->redo log和binlog寫入代表commit的tag
兩階段提交是為了保證binlog和redolog的一致性,即保證用全量備份和binlog產生的從數據庫與主數據庫一致。
總結
以上是生活随笔為你收集整理的binlog日志_mysql日志系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .tex类型文件怎么阅读_Python用
- 下一篇: 安装确认书模板_Aion S车讲堂 |