MySQL二進制日誌

每當事務提交,例如autocommit模式下單條語句提交,或者普通模式下MySQL收到commit語句,MySQL將按以下步驟進行:緩存

先把整個事務寫入binary log,spa

然後纔將事務提交到InnoDB。日誌

注:寫binary log不是寫磁盤,將binary log寫磁盤由系統變量sync_binlog決定。具體來講,即每向binary log寫入sync_binlog次,即刷寫一次磁盤。事務


二進制日誌緩存it

binary log cache變量

存在:每條鏈接各一個,大小由系統變量binlog_cache_size決定。date

做用:一個事務作出的修改,當小於binlog_cache_size時,全部修改內容存入binary log cache;當大於binlog_cache_size時,內容存入磁盤臨時表。二進制

關聯:co


二進制日誌工做過程:磁盤

對非事務性表的修改,在語句執行結束後,即寫入binary log。

在事務內部,對InnoDB表的全部修改,如insert、delete、update,存入binary log cache,

相關文章
相關標籤/搜索