濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > mysql 重要日志文件匯總

mysql 重要日志文件匯總

熱門(mén)標(biāo)簽:北京人工外呼系統(tǒng)價(jià)錢(qián) 400電話(huà)鄭州申請(qǐng) 房產(chǎn)智能外呼系統(tǒng)品牌 常州電銷(xiāo)外呼系統(tǒng)一般多少錢(qián) 云南語(yǔ)音外呼系統(tǒng)平臺(tái) 福州呼叫中心外呼系統(tǒng)哪家好 沃克斯電梯外呼線(xiàn)路圖 地圖標(biāo)注被騙三百怎么辦 天智外呼系統(tǒng)

作者:丁儀

來(lái)源:https://chengxuzhixin.com/blog/post/mysql_zhong_yao_ri_zhi_wen_jian_zong_jie.html

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

二進(jìn)制日志 binlog

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

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

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

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

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

查詢(xún)?nèi)罩?br />

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

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

慢查詢(xún)?nèi)罩居脕?lái)記錄執(zhí)行時(shí)間超過(guò)某個(gè)閾值的語(yǔ)句。執(zhí)行時(shí)間閾值可以通過(guò) long_query_time 來(lái)設(shè)置,默認(rèn)是 10 秒。慢查詢(xún)?nèi)罩拘枰謩?dòng)開(kāi)啟,對(duì)性能有一些影響,一般不建議開(kāi)啟。慢查詢(xún)?nèi)罩局С謱⒂涗泴?xiě)入文件,也支持寫(xiě)入數(shù)據(jù)庫(kù)表。

事務(wù)日志 redo log

事務(wù)的四大特性之一是持久性。因此事務(wù)成功后,數(shù)據(jù)庫(kù)的修改永久保存,不能因?yàn)槿魏卧蚨氐皆瓉?lái)的狀態(tài)。redo log 是 InnoDB 引擎層實(shí)現(xiàn)的日志,并不是所有引擎都有,用來(lái)記錄事務(wù)對(duì)數(shù)據(jù)頁(yè)的修改,可以在崩潰時(shí)用于恢復(fù)數(shù)據(jù)。redo log 包括內(nèi)存中的日志緩沖和磁盤(pán)上的日志文件。執(zhí)行 SQL 語(yǔ)句后,先寫(xiě)入日志緩沖,后續(xù)再一次性把多條緩沖寫(xiě)入文件。

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

事務(wù)日志 undo log

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

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

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

標(biāo)簽:沈陽(yáng) 移動(dòng) 沈陽(yáng) 鹽城 徐州 黔東 珠海 拉薩

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《mysql 重要日志文件匯總》,本文關(guān)鍵詞  mysql,重要,日志,文件,匯總,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《mysql 重要日志文件匯總》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于mysql 重要日志文件匯總的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    资阳市| 韶关市| 绥滨县| 京山县| 从化市| 建德市| 尚志市| 前郭尔| 六盘水市| 曲麻莱县| 镇安县| 武川县| 南部县| 乌拉特前旗| 霍林郭勒市| 晋宁县| 霍州市| 鹿邑县| 肇庆市| 玉树县| 山丹县| 邯郸市| 伽师县| 故城县| 怀安县| 澳门| 女性| 都昌县| 通海县| 漳平市| 商丘市| 壶关县| 通江县| 图们市| 普兰县| 宁陵县| 张掖市| 山东| 临城县| 平湖市| 花垣县|