Innodb日誌與事務

2022-07-16 20:42:11 字數 799 閱讀 4669

1.innodb日誌:

錯誤日誌:記錄出錯資訊,也記錄一些警告資訊或者正確的資訊。

查詢日誌:記錄所有對資料庫請求的資訊,不論這些請求是否得到了正確的執行。

慢查詢日誌:設定乙個閾值,將執行時間超過該值的所有sql語句都記錄到慢查詢的日誌檔案中。

二進位制日誌:記錄對資料庫執行更改的所有操作。

中繼日誌:事務日誌:

2.innodb事務:

1.讀未提交(ru)

2.讀已提交(rc)

3.可重複讀(rr)

4.序列

3.innodb引擎的4大特性:

插入緩衝(insert buffer)

二次寫(double write)

自適應雜湊索引(ahi)

預讀(read ahead)

4.事務是如何通過日誌實現的:

事務日誌是通過redo和innodb的儲存引擎日誌緩衝(innodb log buffer)來實現的,

當開始乙個事務的時候,會記錄該事務的lsn(log sequence number)號;

當事務執行時,會往innodb儲存引擎的日誌的日誌快取裡面插入事務日誌;

當事務提交時,必須將儲存引擎的日誌緩衝寫入磁碟(通過innodb_flush_log_at_trx_commit來控制),

也就是寫資料前,需要先寫日誌。這種方式稱為「預寫日誌方式」

innodb事務日誌

mysql會最大程度的使用快取機制來提高資料庫的訪問效率,但是萬一資料庫發生斷電,因為快取的資料沒有寫入磁碟,導致快取在記憶體中的資料丟失而導致資料不一致怎麼辦?innodb主要是通過事務日誌實現acid特性 事務日誌包括 重做日誌redo和回滾日誌undo redo記錄的是已經全部完成的事務,就是...

innodb事務日誌ib logfile

mysql的innodb中事務日誌ib logfile 事務日誌或稱redo日誌 在mysql中預設以ib logfile0,ib logfile1名稱存在,可以手工修改引數,調節 開啟幾組日誌來服務於當前mysql資料庫,mysql採用順序,迴圈寫方式,每開啟乙個事務時,會把一些相關資訊記錄事務日...

mysql日誌 innodb事務

1 binlog 歸檔日誌 server所有 sync binlog 表示每次binlog 都同步磁碟 2 redolog innodb儲存引擎特有 innodb flush log at trx commit 1 代表每次redolog都同步到磁碟 3 undolog 組成版本鏈 mvcc und...