mysql 原理 innodb恢復機制

2022-03-20 17:56:36 字數 538 閱讀 7464

舉例說明 機制

資料頁a的lsn為100,資料頁b的lsn為200,checkpoint lsn為150,系統lsn為300,表示當前系統已經更新到300,小於150的資料頁已經被刷到磁碟上,因此資料頁a的最新資料一定在磁碟上,而資料頁b則不一定,有可能還在記憶體中。

lsn本身你可以理解為不同時間點的不同操作

page lsn(修改後的頁就是髒頁,會記錄lsn)

page lsn 定位找 redo lsn

只有page lsn < redo lsn的情況下 才可以應用redo日誌,因為如果page lsn大於 redo lsn的話,就證明頁修改了,但是沒找到redo日誌

lsn生成(1 分配當前最大lsn號 2 redo重新整理到磁碟上(redo lsn) 3 髒頁重新整理到磁碟上(page lsn) 4 binlog buffer 5 重新整理生成 checkpoint lsn),

存在2種情況

1 redo丟失

2 dirty page丟失

3 binlog buffer丟失

先redo 後 undo

Mysql恢復 InnoDB 資料表

問題背景 因資料庫中存在乙份公司應用桌面管理表,只在測試資料庫中存在,在生產環境不存在,而測試環境的資料庫.每次新版本迭代,都會同步一下正式庫,有天運維在同步時,對之前的資料庫複製備份直接進行了覆蓋,導致對應的資料表資料的不匹配 解決方法 2.新建資料庫xwan test 最好和需要找回的資料庫名稱...

MySQL原理 InnoDB表的限制

本文基於mysql 5.7 目前oltp業務的表如果是使用mysql一般都會使用innodb引擎,這也是預設的表引擎。那麼這種引擎有什麼限制呢?根據官方文件總結下 參考 參考 關於innodb page size這個資料庫例項初始化配置 innodb page size是乙個初始化資料庫例項的引數,...

學習筆記 mysql索引原理之InnoDB

innodb是事務安全的mysql儲存引擎,在oltp的應用中,innodb應該作為核心應用表的首選儲存引擎。1 執行緒 後台的執行緒主要負責 重新整理記憶體池中的資料,保證緩衝池中的記憶體快取的是最近的資料 將已修改的資料檔案重新整理到磁碟檔案 保證在資料庫發生異常情況下innodb能恢復到正常狀...