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

您的位置:首頁技術(shù)文章
文章詳情頁

MySQL 日志相關(guān)知識(shí)總結(jié)

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

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

sql執(zhí)行順序

當(dāng)我們執(zhí)行一條更新語句時(shí),比如 update table set c=c+1 where id = 2,執(zhí)行順序如下:

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

補(bǔ)充:MySQL的基本存儲(chǔ)結(jié)構(gòu)是頁(記錄都存在頁里邊),所以MySQL是先把這條記錄所在的頁找到,然后把該頁加載到內(nèi)存中,再修改對(duì)應(yīng)的記錄。

bin log是什么

bin log稱為歸檔日志、二進(jìn)制日志,屬于MySQL Server層面的,用于記錄數(shù)據(jù)庫表結(jié)構(gòu)和表數(shù)據(jù)的變更,可以簡單理解為存儲(chǔ)每條變更的sql語句,比如insert、delete、update(當(dāng)然,不僅是sql,還有事務(wù)id,執(zhí)行時(shí)間等等)。

MySQL 日志相關(guān)知識(shí)總結(jié)

什么時(shí)候產(chǎn)生

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

有什么用

主要有兩個(gè)作用:主從復(fù)制和恢復(fù)數(shù)據(jù)

目前大部分?jǐn)?shù)據(jù)庫架構(gòu)都是一主多從,從服務(wù)器通過訪問主服務(wù)器的bin log,保證數(shù)據(jù)一致性 bin log記錄數(shù)據(jù)庫的變更,可以通過它恢復(fù)數(shù)據(jù) 什么時(shí)候落盤

區(qū)分innodb_flush_log_at_trx_commit和sync_binlog

​ 二進(jìn)制日志取決于sync_binlog參數(shù)

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

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

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

優(yōu)點(diǎn):能夠清楚記錄每行數(shù)據(jù)修改細(xì)節(jié),能夠完全保證主從數(shù)據(jù)一致性缺點(diǎn):批量操作時(shí)會(huì)產(chǎn)生大量的日志,比如alter table

statement:記錄每條修改數(shù)據(jù)的sql,可認(rèn)為sql語句復(fù)制

優(yōu)點(diǎn):日志數(shù)據(jù)量小,減少磁盤IO,提高存儲(chǔ)和恢復(fù)速度缺點(diǎn):在某些情況下會(huì)出現(xiàn)主從不一致,比如sql語句中包含**now()**等函數(shù)

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

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

什么時(shí)候產(chǎn)生

事務(wù)開始,就會(huì)寫入redo log。redo log寫入到磁盤并不是隨著事務(wù)提交才寫入,而是在事務(wù)執(zhí)行過程中,就已經(jīng)寫入到磁盤

有什么用

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

什么時(shí)候落盤

InnoDB先把日志寫到緩沖區(qū)(log buffer),然后再把日志從log buffer刷到os buffer,最后調(diào)用文件系統(tǒng)的fsync函數(shù)將日志刷新到磁盤。重做日志寫入時(shí)機(jī)由參數(shù)innodb_flush_log_at_trx_commit決定

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

一般取值為2,因?yàn)榧词筂ySQL宕機(jī),數(shù)據(jù)也沒有丟失。只有整個(gè)服務(wù)器掛了,才損失1秒的數(shù)據(jù)

MySQL 日志相關(guān)知識(shí)總結(jié)

bin log VS redo log

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

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

如果整個(gè)數(shù)據(jù)庫被刪除,可以通過redo log恢復(fù)嗎?

不行!因?yàn)閞edo log側(cè)重點(diǎn)是保存某次事務(wù)的數(shù)據(jù)變更,當(dāng)內(nèi)存中的數(shù)據(jù)刷到磁盤后,redo log的數(shù)據(jù)其實(shí)已經(jīng)沒有參考價(jià)值。此外,redo log會(huì)覆蓋歷史數(shù)據(jù),也不可能通過它來恢復(fù)所有數(shù)據(jù)。

undo log

詳細(xì)分析MySQL事務(wù)日志

是什么

undo log稱為回滾日志,屬于InnoDB存儲(chǔ)引擎層,是邏輯日志,記錄每行數(shù)據(jù)。當(dāng)我們變更數(shù)據(jù)時(shí),就會(huì)產(chǎn)生undo log,可以認(rèn)為insert一條數(shù)據(jù),undo log會(huì)記錄一條對(duì)應(yīng)的delete日志,反之亦然。

什么時(shí)候產(chǎn)生

在事務(wù)開始前,將當(dāng)前版本生成undo log

有什么用

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

回滾:當(dāng)需要rollback時(shí),從undo log的邏輯記錄讀取相應(yīng)的內(nèi)容進(jìn)行回滾 MVCC:undo log記錄中存儲(chǔ)的是舊版本數(shù)據(jù),當(dāng)一個(gè)事務(wù)需要讀取數(shù)據(jù)時(shí),會(huì)順著undo鏈找到滿足其可見性的記錄

以上就是MySQL 日志相關(guān)知識(shí)總結(jié)的詳細(xì)內(nèi)容,更多關(guān)于MySQL 日志的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: MySQL 數(shù)據(jù)庫
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产精成人品2018| 日本国产欧美| 国产日韩电影| 吉吉日韩欧美| 欧洲av不卡| 亚洲午夜黄色| 亚洲精品99| 亚洲一区成人| 中文字幕中文字幕精品| 综合在线一区| 日韩中文字幕一区二区三区| 免费观看久久久4p| 日韩高清在线不卡| 国产亚洲一区二区三区啪| 欧美日韩精品一区二区三区视频 | 精品国产美女a久久9999| 久久精品免视看国产成人| 国产理论在线| 亚洲午夜电影| 蜜臀va亚洲va欧美va天堂| 日韩av影院| 麻豆视频久久| 99久久久久| 亚洲影视一区| 国产精品v一区二区三区| 91综合网人人| 欧美理论视频| 深夜日韩欧美| 久久久精品国产**网站| 久久美女性网| 亚洲性视频在线| 欧美极品中文字幕| 久久久久久黄| 日本a口亚洲| 日本蜜桃在线观看视频| 伊人久久大香线蕉av超碰演员| 日韩精品导航| 福利一区和二区| 夜夜嗨av一区二区三区网站四季av| 久久亚洲欧洲| 另类欧美日韩国产在线| 欧洲激情综合| 国产日产精品_国产精品毛片 | 日本午夜精品视频在线观看| 成人在线免费观看91| 国内精品福利| 日本国产一区| 久久久人人人| 最新亚洲国产| 吉吉日韩欧美| 日本中文字幕不卡| 欧美精选视频一区二区| 日本综合精品一区| 超级白嫩亚洲国产第一| 男女男精品网站| 国产suv精品一区二区四区视频| 国产亚洲永久域名| 韩日一区二区| 亚洲一二三区视频| 欧美精品高清| 欧美日韩在线精品一区二区三区激情综合 | 国产韩日影视精品| 国产高清精品二区| 国产精品腿扒开做爽爽爽挤奶网站| 国产精品成人一区二区网站软件| 激情久久久久久| 你懂的网址国产 欧美| 老牛国产精品一区的观看方式| 精品一区二区三区免费看| 老牛国产精品一区的观看方式| 精品欧美视频| 久久亚洲欧美| 亚洲爱爱视频| 国产福利一区二区三区在线播放| 伊人成人在线视频| 国产精品不卡| 欧美日韩一区二区三区在线电影| 亚洲欧洲另类| 久久久久久自在自线| 日韩高清一区二区| 天堂成人免费av电影一区| 成人一区而且| 国产精品一线| 日本亚洲欧洲无免费码在线| 亚洲韩日在线| 97人人精品| 国产精品亲子伦av一区二区三区| 国产视频亚洲| 欧美亚洲精品在线| 成人精品动漫一区二区三区| 日本精品在线播放| 免费在线观看成人| 悠悠资源网久久精品| 性欧美videohd高精| 久久精品国产网站| 国产精品第一国产精品| 婷婷综合成人| 亚洲欧美日韩综合国产aⅴ| 欧美gv在线| 日产午夜精品一线二线三线| 国产精品视频3p| 日韩精品一区二区三区中文字幕| 日韩视频一区| 亚洲一级网站| 日韩成人三级| 国精品产品一区| 久久不见久久见中文字幕免费| 亚洲综合专区| 免费看黄色91| 9国产精品视频| 欧洲激情综合| 亚州av乱码久久精品蜜桃| 99视频精品全部免费在线视频| 色网在线免费观看| 日韩黄色大片| 久久一级电影| 群体交乱之放荡娇妻一区二区| 成人午夜网址| 国际精品欧美精品| 精品免费视频| 国产资源在线观看入口av| 精品国产一区二| 精品视频网站| 国产精品高颜值在线观看| sm捆绑调教国产免费网站在线观看| 国产专区精品| 亚洲国产福利| 亚洲天堂1区| 免费av一区二区三区四区| 激情婷婷亚洲| 亚洲二区三区不卡| 91成人精品| 午夜在线一区二区| 亚洲一级淫片| 国产日产一区| 电影91久久久| 999国产精品永久免费视频app| 国产一区视频在线观看免费| 99热国内精品| 香蕉视频成人在线观看| 免费不卡在线观看| 天海翼亚洲一区二区三区| 日韩国产欧美视频| 国产精品丝袜在线播放| 精品国产亚洲日本| 欧美日韩国产v| 黑丝一区二区三区| 视频一区免费在线观看| 日韩欧美中文在线观看| 国产美女久久| 97精品97| 亚洲激情av| 日韩动漫一区| 国产精品极品国产中出| 中文字幕在线高清| 精品91久久久久| 欧美一区激情| 国产96在线亚洲| 韩日一区二区三区| 日韩欧美精品一区二区综合视频| 免费在线亚洲欧美| 久久久久国产精品一区三寸| 亚洲经典在线| 欧美色综合网| 亚洲四虎影院| 亚洲精品乱码日韩| 精品一区二区三区中文字幕视频| 久久久成人网| 日韩精品一区二区三区免费视频| 成人污污视频| 久久高清国产| 麻豆精品新av中文字幕| 久久精品官网| 日本麻豆一区二区三区视频| 高清一区二区| 久热re这里精品视频在线6| 麻豆国产一区| 999视频精品| 日韩精品视频一区二区三区| 给我免费播放日韩视频| 久久国产高清| 免费日韩成人| 韩日一区二区三区| 国产精品一区二区三区美女| 99久久精品费精品国产| 日本综合精品一区| 婷婷激情一区| 日韩精品视频网| 久久久精品网| 国产精品网在线观看| 亚洲精品a级片| 免费视频一区二区三区在线观看| 九九综合在线| 久久久精品区| 一区二区电影在线观看| 最新中文字幕在线播放 | 国产精品yjizz视频网| 中文字幕av一区二区三区人| 四虎成人av| 欧美日本二区|