mysql binlog是「二進位日誌」;binlog是記錄所有資料庫表結構變更以及表格資料修改的二進位日誌,但不會記錄SELECT和SHOW這類操作,因為這類操作對資料本身並沒有修改。
本教學操作環境:Windows10系統、mysql8版本、Dell G3電腦。
mysql binlog是什麼?
binlog介紹:
binlog(二進位日誌)
binlog是記錄所有資料庫表結構變更(例如CREATE、ALTER TABLE…)以及表格資料修改(INSERT、UPDATE、DELETE…)的二進位日誌。
binlog不會記錄SELECT和SHOW這類操作,因為這類操作對資料本身並沒有修改,但你可以透過查詢通用日誌來查看MySQL執行過的所有語句。
二進位日誌包含兩類文件:二進位日誌索引檔案(檔案名稱後綴為.index)用於記錄所有的二進位文件,二進位日誌檔案(檔案名稱後綴為.00000*)記錄資料庫所有的DDL和DML(除了資料查詢語句)語句事件。
交易日誌介紹:
innodb交易日誌包含redo log和undo log。
undo log指交易開始之前, 在操作任何資料之前,首先將需操作的資料備份到一個地方
redo log指交易中操作的任何資料,將最新的資料備份到一個地方
交易日誌的目的:實例或媒體失敗,交易日誌檔案就能派上用場。
1.redo log不是隨著事務的提交才寫入的,而是在事務的執行過程中,便開始寫入redo 中。具體 的落盤策略可以進行設定 。防止在發生故障的時間點,尚有髒頁未寫入磁碟,在重啟mysql服務的時候,根據redo log進行重做,從而達到事務的未入磁碟資料進行持久化這一特性。 RedoLog是為了實現交易的持久性而出現的產物
2.undo log用來回滾行記錄到某個版本。在交易未提交之前,Undo保存了未提交先前的版本數據,Undo中的數據可作為數據舊版本快照供其他並發事務進行快照讀取。是為了實現事務的原子性而出現的產物,在Mysql innodb存儲引擎中用來實現多版本並發控制
【相關推薦:mysql視頻教程】
以上是mysql binlog是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!