欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql 重要日志文件匯總

 更新時間:2020年11月25日 08:48:07   作者:程序之心  
這篇文章主要介紹了mysql 重要日志文件的匯總,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫,感興趣的朋友可以了解下

作者:丁儀

來源:https://chengxuzhixin.com/blog/post/mysql_zhong_yao_ri_zhi_wen_jian_zong_jie.html

日志是所有應(yīng)用的重要數(shù)據(jù),MySQL 也有錯誤日志、查詢?nèi)罩尽⒙樵內(nèi)罩?、事?wù)日志等。本文簡單總結(jié)下各種日志,以備查閱。

二進(jìn)制日志 binlog

二進(jìn)制日志 binlog 用于記錄數(shù)據(jù)庫執(zhí)行的寫入性操作(不包括查詢)信息,以二進(jìn)制的形式保存在磁盤中。使用任何存儲引擎的 mysql 數(shù)據(jù)庫都會記錄 binlog 日志。在 binlog 中記錄的是邏輯日志,也就是 SQL 語句。SQL 語句執(zhí)行后,binlog 追加到日志文件中??梢栽O(shè)置 binlog 文件大小,超過大小后,自動創(chuàng)建新的文件。

binlog 有三種格式,分別為 STATMENT、ROW 和 MIXED。

  • STATMENT:把會修改數(shù)據(jù)的 sql 語句記錄到 binlog 中;是 MySQL 5.7.7 之前的默認(rèn)格式;
  • ROW:不記錄每條 sql 語句的上下文信息,僅記錄哪條數(shù)據(jù)被修改了;是 MySQL 5.7.7之后的默認(rèn)格式;
  • MIXED:基于 STATMENT 和 ROW 兩種模式的混合復(fù)制,一般使用 STATEMENT 模式,對于無法復(fù)制的操作使用 ROW 模式;

在實際應(yīng)用中,binlog 主要用于主從復(fù)制和數(shù)據(jù)恢復(fù)。主從復(fù)制是指在 master 機(jī)器開啟 binlog,通過某種方式把 binlog 發(fā)送給 slave 機(jī)器,slave 機(jī)器根據(jù) binlog 內(nèi)容進(jìn)行數(shù)據(jù)操作,從而保證主從數(shù)據(jù)一致性。另外,通過使用 mysqlbinlog 工具可以從 binlog 恢復(fù)數(shù)據(jù)。

在 MySQL 5.7 之后,內(nèi)置默認(rèn)引擎已經(jīng)變更為 InnoDB 引擎。 InnoDB 引擎在處理事務(wù)時,可以設(shè)置日志寫入磁盤的時機(jī),默認(rèn)情況下是每次 commit 時寫入磁盤。也可以通過 sync_binlog 參數(shù)設(shè)置成系統(tǒng)自動判斷或每 N 個事務(wù)寫入一次。

查詢?nèi)罩?br />

查詢?nèi)罩居涗浟怂袛?shù)據(jù)庫請求的信息。無論這些請求是否得到了正確的執(zhí)行。開啟之后對性能有比較大的影響,因此使用不多。

慢查詢?nèi)罩?/strong>

慢查詢?nèi)罩居脕碛涗泩?zhí)行時間超過某個閾值的語句。執(zhí)行時間閾值可以通過 long_query_time 來設(shè)置,默認(rèn)是 10 秒。慢查詢?nèi)罩拘枰謩娱_啟,對性能有一些影響,一般不建議開啟。慢查詢?nèi)罩局С謱⒂涗泴懭胛募?,也支持寫入?shù)據(jù)庫表。

事務(wù)日志 redo log

事務(wù)的四大特性之一是持久性。因此事務(wù)成功后,數(shù)據(jù)庫的修改永久保存,不能因為任何原因而回到原來的狀態(tài)。redo log 是 InnoDB 引擎層實現(xiàn)的日志,并不是所有引擎都有,用來記錄事務(wù)對數(shù)據(jù)頁的修改,可以在崩潰時用于恢復(fù)數(shù)據(jù)。redo log 包括內(nèi)存中的日志緩沖和磁盤上的日志文件。執(zhí)行 SQL 語句后,先寫入日志緩沖,后續(xù)再一次性把多條緩沖寫入文件。

在 InnoDB 中,數(shù)據(jù)頁也會刷盤,redo log 存在的意義主要就是降低對數(shù)據(jù)頁刷盤的要求。數(shù)據(jù)頁的變更,redo log 沒有必要全部保存。如果數(shù)據(jù)頁刷盤比 redo log 快,則 redo log 的記錄對于數(shù)據(jù)恢復(fù)意義不大;如果數(shù)據(jù)頁刷盤比 redo log 慢,則 redo log 中比數(shù)據(jù)頁快的部分可以用來快速恢復(fù)數(shù)據(jù)。因此 redo log 日志文件大小是固定的,當(dāng)寫到結(jié)尾時,會回到開頭循環(huán)寫日志。

事務(wù)日志 undo log

事務(wù)的四大特性之一是原子性。對數(shù)據(jù)庫的一系列操作,要么全部成功,要么全部失敗,不允許部分成功部分失敗。因此,需要記錄數(shù)據(jù)的邏輯變化。原子性通過 undo log 來實現(xiàn),比如事務(wù)中執(zhí)行一條 insert 語句,undo log 就會記錄一條 delete 語句;事務(wù)中執(zhí)行一條 update 語句,undo log 就會記錄一條相反的 update 語句。這樣在事務(wù)失敗時,就可以通過 undo log 來回滾到事務(wù)之前的狀態(tài)。

以上就是mysql 重要日志文件匯總的詳細(xì)內(nèi)容,更多關(guān)于MySQL 日志文件的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Mysql數(shù)據(jù)庫函數(shù)之函數(shù)的用法小結(jié)

    Mysql數(shù)據(jù)庫函數(shù)之函數(shù)的用法小結(jié)

    函數(shù)只是對查詢結(jié)果中的數(shù)據(jù)進(jìn)行處理,不會改變數(shù)據(jù)庫中數(shù)據(jù)表的值,MySQL中的函數(shù)主要分為單行函數(shù)和多行函數(shù)兩大類,下面我們將詳細(xì)講解這兩大類函數(shù),這篇文章主要介紹了Mysql數(shù)據(jù)庫函數(shù)之函數(shù)的用法,需要的朋友可以參考下
    2022-11-11
  • Mysql索引覆蓋的實現(xiàn)

    Mysql索引覆蓋的實現(xiàn)

    本文主要介紹了Mysql索引覆蓋的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Ubuntu上安裝MySQL+問題處理+安全優(yōu)化

    Ubuntu上安裝MySQL+問題處理+安全優(yōu)化

    這篇文章主要匯總介紹了Ubuntu上安裝MySQL+問題處理+安全優(yōu)化的相關(guān)事項,非常的細(xì)致全面,有需要的小伙伴可以參考下
    2016-03-03
  • 記一次mysql字符串末尾空白丟失的排查

    記一次mysql字符串末尾空白丟失的排查

    這篇文章主要介紹了記一次mysql字符串末尾空白丟失的排查的相關(guān)資料,需要的朋友可以參考下
    2023-06-06
  • Mysql子查詢關(guān)鍵字的使用方式(exists)

    Mysql子查詢關(guān)鍵字的使用方式(exists)

    這篇文章主要介紹了Mysql子查詢關(guān)鍵字的使用方式(exists),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • SQLyog連接MySQL8.0+報錯:錯誤號碼2058的解決方案

    SQLyog連接MySQL8.0+報錯:錯誤號碼2058的解決方案

    本文將總結(jié)如何解決 SQLyog 連接 MySQL8.0+ 時報錯:錯誤號碼2058,文中通過圖文結(jié)合和代碼示例給大家總結(jié)了三種解決方案,具有一定的參考價值,需要的朋友可以參考下
    2023-12-12
  • mysql聚簇索引的頁分裂原理實例分析

    mysql聚簇索引的頁分裂原理實例分析

    這篇文章主要介紹了mysql聚簇索引的頁分裂原理,結(jié)合實例形式分析了mysql聚簇索引的頁分裂原理與操作注意事項,需要的朋友可以參考下
    2019-07-07
  • Linux7操作系統(tǒng)中如何安裝MySQL5.6

    Linux7操作系統(tǒng)中如何安裝MySQL5.6

    這篇文章主要介紹了Linux7操作系統(tǒng)中如何安裝MySQL5.6問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Window下Mysql忘記root密碼怎么重置

    Window下Mysql忘記root密碼怎么重置

    這篇文章主要介紹了Window下Mysql忘記root密碼的重置方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-02-02
  • 詳解mysql三值邏輯與NULL

    詳解mysql三值邏輯與NULL

    這篇文章主要介紹了mysql三值邏輯和NULL,感興趣的同學(xué)們,可以參考下,并且把代碼實驗一下
    2021-05-05

最新評論