redo log
lsn 和 checkpoint
binlog
事務執行失敗時回滾
崩潰時,對未提交的事務做回滾
用於mvcc,innodb的mvcc,其實是使用undo log來實現的
崩潰時,對已提交未落盤的資料 重做
為了崩潰恢復,redo log 如何和db落盤的資料匹配上呢,這裡需要用到乙個序列號,就是lsn了,如何redo 日誌的最新lsn 比落盤的dblsn 更大更新,則說明落盤的資料丟資料了,需要重做redo log來恢復資料
在這期間,因為積累越來越多的lsn,會導致恢復緩慢,所以引入checkpoint,innodb 會在特定時期觸發checkpoint,checkpoint會把db 髒頁刷盤,將redo log和lsn 和落盤資料的對齊。進而,可以認為,每乙個checkpoint代表之前的資料都是完整無缺的,資料恢復只需要從當前找到最近的checkpoint的恢復即可。
二進位制日誌,在mysql 服務端產生,用於資料同步。
用於db 恢復資料
邏輯日誌
二者都有資料恢復的功能,但是有以下區別
redo log是innodb 儲存引擎層做的,不通用,binlog是服務層做的,通用
redo log是物理日誌,包含磁碟操作資訊,binlog是邏輯日誌,只包含資料操作的日誌
也就是說,redo log應當比binlog 多了操作磁碟結構的日誌,但同時少了 反向sql的日誌,因為這樣的日誌結構差異,redo log是單機宕機的資料恢復,binlog 是主從複製 並且可以資料恢復到某乙個時間點
mysql很簡單 MySQL入門很簡單
基本資訊 商品名稱 mysql入門很簡單 附光碟 出版社 清華大學isbn號 9787302243625頁數 466 內容提要 目錄 篇 mysql資料庫基礎 1.1 資料庫理論基礎 1.1.1 資料儲存方式 1.1.2 資料庫泛型 1.1.3 資料庫在開發中作用 1.2 資料庫技術構成 1.2.1...
GDI 水印 很簡單很簡單的版
using system using system.collections.generic using system.componentmodel using system.data using system.drawing using system.linq using system.text u...
linux入門很簡單》總結
本文內容是對 linux入門很簡單 的乙個總結 序言 linux的初衷 linux的出現是為了程式設計師們為自己方便而能夠修改別人的軟體為自己所用。安裝軟體一些必知的知識 apt 負責安裝軟體 手動更改軟體源 gedit etc apt sources.list 更新軟體列表 apt get upd...