mysql binlog是什麼

藏色散人
發布: 2023-04-03 15:46:36
原創
1740 人瀏覽過

mysql binlog是「二進位日誌」;binlog是記錄所有資料庫表結構變更以及表格資料修改的二進位日誌,但不會記錄SELECT和SHOW這類操作,因為這類操作對資料本身並沒有修改。

mysql binlog是什麼

本教學操作環境: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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!