日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

MySQL 日志相關知識總結

瀏覽:33日期:2023-10-06 10:43:57

數據庫中用于存儲數據的文件稱為data file,日志文件稱為log file。此外,如果每次讀寫都是直接訪問磁盤,性能很差,所以數據庫是有緩存的,數據緩存是data buffer,日志緩存log buffer。

sql執行順序

當我們執行一條更新語句時,比如 update table set c=c+1 where id = 2,執行順序如下:

執行器通過存儲引擎獲取id=2的行記錄。如果id=2的行記錄所在的數據頁已經在內存中,則直接返回;否則,需要從磁盤讀取數據 執行器拿到返回的行數據,把字段c的值+1,得到新的行數據,然后調用存儲引擎接口寫入行數據 引擎把這行數據更新到內存,同時將這個更新操作記錄到redo log里面,此時redo log處于prepare狀態。然后告訴執行器執行完成,隨時可以提交事務 執行器生成這個操作的bin log,并把bin log寫入磁盤 執行器調用引擎的提交事務接口,引擎把剛剛寫入的redo log改成commit狀態,更新完成

補充:MySQL的基本存儲結構是頁(記錄都存在頁里邊),所以MySQL是先把這條記錄所在的頁找到,然后把該頁加載到內存中,再修改對應的記錄。

bin log是什么

bin log稱為歸檔日志、二進制日志,屬于MySQL Server層面的,用于記錄數據庫表結構和表數據的變更,可以簡單理解為存儲每條變更的sql語句,比如insert、delete、update(當然,不僅是sql,還有事務id,執行時間等等)。

MySQL 日志相關知識總結

什么時候產生

事務提交的時候,一次性將事務中的sql語句按照一定格式記錄到bin log

有什么用

主要有兩個作用:主從復制和恢復數據

目前大部分數據庫架構都是一主多從,從服務器通過訪問主服務器的bin log,保證數據一致性 bin log記錄數據庫的變更,可以通過它恢復數據 什么時候落盤

區分innodb_flush_log_at_trx_commit和sync_binlog

​ 二進制日志取決于sync_binlog參數

0:事務提交后,由操作系統決定什么時候把緩存刷新到磁盤(性能最好,安全性最差) 1:每提交一次事務,調用一次fsync將緩存寫入到磁盤(安全性最好,性能最差) n:當提交n次事務后,調用一次fsync將緩存寫入到磁盤 文件記錄模式

bin log有三種文件記錄模式,分別是row、statement、mixed

row(row-based replication,PBR):記錄每一行數據的修改情況

優點:能夠清楚記錄每行數據修改細節,能夠完全保證主從數據一致性缺點:批量操作時會產生大量的日志,比如alter table

statement:記錄每條修改數據的sql,可認為sql語句復制

優點:日志數據量小,減少磁盤IO,提高存儲和恢復速度缺點:在某些情況下會出現主從不一致,比如sql語句中包含**now()**等函數

mixed:上面兩種模式的混合,MySQL會根據sql語句選擇寫入模式,一般使用statement模式保存bin log,對于statement模式無法復制的操作,使用row模式保存bin log。 redo log是什么

redo log稱為重做日志,屬于InnoDB存儲引擎層的日志,記錄物理頁的修改信息,而不是某一行或幾行修改成什么樣

什么時候產生

事務開始,就會寫入redo log。redo log寫入到磁盤并不是隨著事務提交才寫入,而是在事務執行過程中,就已經寫入到磁盤

有什么用

可用于恢復數據。redo log是在事務開始后就寫入到磁盤,且是順序IO,寫入速度較快。如果服務器突然掉電,InnoDB引擎會使用redo log把數據庫恢復到掉電前的時刻,保證數據的完整性

什么時候落盤

InnoDB先把日志寫到緩沖區(log buffer),然后再把日志從log buffer刷到os buffer,最后調用文件系統的fsync函數將日志刷新到磁盤。重做日志寫入時機由參數innodb_flush_log_at_trx_commit決定

0:每秒一次,把log buffer寫入os buffer,并調用fsync刷到磁盤 1:每次提交事務時,把log buffer寫入os buffer,并調用fsync刷到磁盤 2:每次提交事務時,只是寫入到os buffer,然后每秒一次調用fsync將日志刷新到磁盤

一般取值為2,因為即使MySQL宕機,數據也沒有丟失。只有整個服務器掛了,才損失1秒的數據

MySQL 日志相關知識總結

bin log VS redo log

看了以上的介紹,感覺bin log和redo log很像,都是記錄數據變更,可用于恢復。其實,它們還是有明顯區別的。

bin log屬于MySQL Server層面的,redo log屬于InnoDB存儲引擎層面 bin log是邏輯日志,記錄的是sql語句的原始邏輯;redo log是物理日志,記錄的是物理頁面更新的內容 bin log是追加寫,文件達到限制后會更換下個文件,不會覆蓋;redo log是循環寫,文件大小固定,寫滿就重頭開始寫,覆蓋原來的內容 bin log作用是主從復制和恢復數據,當數據庫被刪除、或者從庫同步主庫數據時,由于bin log記錄變更數據的sql,所以可通過bin log恢復。而redo log作用是持久化,當發生服務器宕機或者掉電等情況,數據丟失,可以通過redo log恢復。 bin log是提交事務時才寫入磁盤,而redo log在開啟事務時,就開始寫入到磁盤

如果整個數據庫被刪除,可以通過redo log恢復嗎?

不行!因為redo log側重點是保存某次事務的數據變更,當內存中的數據刷到磁盤后,redo log的數據其實已經沒有參考價值。此外,redo log會覆蓋歷史數據,也不可能通過它來恢復所有數據。

undo log

詳細分析MySQL事務日志

是什么

undo log稱為回滾日志,屬于InnoDB存儲引擎層,是邏輯日志,記錄每行數據。當我們變更數據時,就會產生undo log,可以認為insert一條數據,undo log會記錄一條對應的delete日志,反之亦然。

什么時候產生

在事務開始前,將當前版本生成undo log

有什么用

主要作用:提供回滾和多版本并發控制(MVCC)

回滾:當需要rollback時,從undo log的邏輯記錄讀取相應的內容進行回滾 MVCC:undo log記錄中存儲的是舊版本數據,當一個事務需要讀取數據時,會順著undo鏈找到滿足其可見性的記錄

以上就是MySQL 日志相關知識總結的詳細內容,更多關于MySQL 日志的資料請關注好吧啦網其它相關文章!

標簽: MySQL 數據庫
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
精品久久久网| 久久久成人网| 欧美99久久| 久久精品xxxxx| 亚洲精品99| 国产精品nxnn| 日韩欧美2区| 国产精品一线| 国产激情精品一区二区三区| 久久精品国内一区二区三区| 欧美激情麻豆| 欧美日韩精品免费观看视完整| 国产欧美69| 国产精品99一区二区三| 亚洲爱爱视频| 精品国产一区二区三区2021| 麻豆成人av在线| 中文国产一区| 日韩精品欧美激情一区二区| 国产欧美大片| 国产欧美亚洲一区| 麻豆久久久久久| 国产精品v日韩精品v欧美精品网站| 蜜臀精品久久久久久蜜臀| 日本午夜精品一区二区三区电影| 免费在线观看日韩欧美| 一区二区日韩免费看| 欧美国产亚洲精品| 精品国产欧美| 欧美日韩国产v| 国产视频一区三区| 国产农村妇女精品一二区| 亚洲午夜国产成人| 红杏一区二区三区| 美女在线视频一区| 久久亚洲资源中文字| 久久亚洲精品中文字幕蜜潮电影| 久久久精品久久久久久96| 亚洲一区亚洲| 日韩一区二区三区高清在线观看 | 日本欧美大码aⅴ在线播放| 四虎国产精品免费久久| 你懂的国产精品永久在线| 日本少妇一区| 国产亚洲亚洲| 青青草国产成人99久久| 麻豆mv在线观看| 欧美日韩在线二区| 亚洲男女自偷自拍| 91大神在线观看线路一区| 麻豆国产精品777777在线| 最近高清中文在线字幕在线观看1| 91精品国产自产在线观看永久∴| 亚洲在线一区| 免费日韩一区二区三区| 欧美中文一区二区| 欧美天堂亚洲电影院在线观看| 日韩影院免费视频| 国产精品调教| 91精品亚洲| 亚洲一二三区视频| 嫩呦国产一区二区三区av| 日韩免费福利视频| 久久久成人网| 日本午夜精品久久久| 亚洲天堂一区二区| 亚洲一级大片| 中文字幕人成乱码在线观看| 国产亚洲一级| 国产亚洲欧美日韩在线观看一区二区| 国产乱码午夜在线视频| 亚洲欧美日韩国产综合精品二区| 国产欧美大片| 91久久中文| 91国内精品| 999久久久亚洲| 国产精品高清一区二区| 日韩中文字幕亚洲一区二区va在线 | 久久亚洲精精品中文字幕| 久久蜜桃资源一区二区老牛| 亚洲精品影院在线观看| 欧美高清不卡| 成人午夜在线| 日日夜夜免费精品| 91精品精品| 久久精品国产999大香线蕉| 91tv亚洲精品香蕉国产一区| 香蕉久久一区| 在线视频观看日韩| 欧美日韩在线精品一区二区三区激情综合 | 日韩亚洲国产欧美| 国产一区二区三区国产精品| 综合欧美精品| 免费视频国产一区| 国内一区二区三区| 精品捆绑调教一区二区三区| 欧美一区影院| 免费成人在线观看| 久久国产电影| 98精品视频| 国产精品久久久久久久久久久久久久久 | 不卡一区综合视频| 日韩不卡一区二区三区| 视频一区中文| 91久久国产| 青青青免费在线视频| 久久久久久色 | 久久精品午夜| 日韩精品亚洲专区| 亚洲国产成人二区| 福利一区和二区| 国产福利一区二区三区在线播放| 蜜臀久久久99精品久久久久久| 亚洲午夜黄色| 久久久久99| 五月激情久久| 国产91在线播放精品| 国产精品多人| 欧美aⅴ一区二区三区视频| 久久国产麻豆精品| 中文字幕一区二区三区在线视频| 日韩视频免费| 亚洲欧美日韩高清在线| 久久国产主播| 久久精品日韩欧美| 麻豆精品在线观看| 精品一区二区三区四区五区| 国产精品手机在线播放| 清纯唯美亚洲综合一区| 91精品国产经典在线观看| 日本强好片久久久久久aaa| 日韩不卡一二三区| 欧美日韩午夜| 久久精品欧洲| 超碰99在线| 神马日本精品| 激情五月色综合国产精品| 欧美精品一区二区三区精品| 91精品一区二区三区综合| 麻豆91精品91久久久的内涵| 精品亚洲成人| 日韩精品水蜜桃| 韩日一区二区三区| 视频一区二区中文字幕| 蜜桃传媒麻豆第一区在线观看| 只有精品亚洲| 天堂av一区| 国产调教一区二区三区| 91成人小视频| 色网在线免费观看| 91精品推荐| 亚洲特级毛片| 国产精品日韩欧美一区| 亚洲专区视频| 日韩1区2区日韩1区2区| 欧美一级久久| 四虎国产精品免费观看| 欧洲激情综合| 日本成人中文字幕| 美女视频网站久久| 91日韩免费| 在线亚洲自拍| 久久av综合| 日韩欧美一区二区三区在线视频| 欧美手机在线| 亚洲日本三级| 成人美女视频| 欧美日本三区| 秋霞影视一区二区三区| 久久精品影视| 亚洲精品少妇| 91精品在线免费视频| 亚洲性色视频| 深夜福利一区| 老牛国内精品亚洲成av人片| 亚洲午夜黄色| 91精品国产自产观看在线| 日韩亚洲国产欧美| 欧美日韩一区二区三区在线电影| 成人在线免费观看91| 中文一区在线| 美女久久99| 中国字幕a在线看韩国电影| 国产精品一线天粉嫩av| 国产精品毛片一区二区在线看| 亚洲成人不卡| 涩涩涩久久久成人精品| 国产精品久久久久久久久久10秀| 在线综合亚洲| 国产精品av久久久久久麻豆网| 97久久亚洲| 欧美亚洲激情| 欧美成人精品午夜一区二区| 日本视频一区二区| 九九综合九九| 韩日一区二区| 日韩精品中文字幕吗一区二区| 奶水喷射视频一区| 精品一区二区三区免费看| 首页国产精品|