校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > mysql 重要日志文件匯總

mysql 重要日志文件匯總

熱門標簽:北京人工外呼系統(tǒng)價錢 400電話鄭州申請 房產智能外呼系統(tǒng)品牌 常州電銷外呼系統(tǒng)一般多少錢 云南語音外呼系統(tǒng)平臺 福州呼叫中心外呼系統(tǒng)哪家好 沃克斯電梯外呼線路圖 地圖標注被騙三百怎么辦 天智外呼系統(tǒng)

作者:丁儀

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

日志是所有應用的重要數(shù)據(jù),MySQL 也有錯誤日志、查詢日志、慢查詢日志、事務日志等。本文簡單總結下各種日志,以備查閱。

二進制日志 binlog

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

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

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

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

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

查詢日志

查詢日志記錄了所有數(shù)據(jù)庫請求的信息。無論這些請求是否得到了正確的執(zhí)行。開啟之后對性能有比較大的影響,因此使用不多。

慢查詢日志

慢查詢日志用來記錄執(zhí)行時間超過某個閾值的語句。執(zhí)行時間閾值可以通過 long_query_time 來設置,默認是 10 秒。慢查詢日志需要手動開啟,對性能有一些影響,一般不建議開啟。慢查詢日志支持將記錄寫入文件,也支持寫入數(shù)據(jù)庫表。

事務日志 redo log

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

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

事務日志 undo log

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

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

您可能感興趣的文章:
  • MySQL日志文件詳解
  • Mysql日志文件和日志類型介紹
  • mysql二進制日志文件恢復數(shù)據(jù)庫
  • 自動恢復MySQL數(shù)據(jù)庫的日志文件思路分享及解決方案
  • mysql日志文件在哪 如何修改MySQL日志文件位置
  • mysql中的7種日志小結

標簽:沈陽 移動 沈陽 鹽城 徐州 黔東 珠海 拉薩

巨人網(wǎng)絡通訊聲明:本文標題《mysql 重要日志文件匯總》,本文關鍵詞  mysql,重要,日志,文件,匯總,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《mysql 重要日志文件匯總》相關的同類信息!
  • 本頁收集關于mysql 重要日志文件匯總的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 雷波县| 邹城市| 高邮市| 曲周县| 高邮市| 盐津县| 军事| 资兴市| 关岭| 栾川县| 桑日县| 天柱县| 蒙自县| 乳源| 古交市| 晋中市| 正宁县| 洛扎县| 钟祥市| 偏关县| 高碑店市| 铜陵市| 刚察县| 新余市| 阿图什市| 明光市| 乌鲁木齐市| 呼图壁县| 江安县| 西宁市| 平泉县| 新巴尔虎左旗| 隆昌县| 丰台区| 山阳县| 台中市| 易门县| 蒙城县| 大同市| 定日县| 海盐县|