最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql 重要日志文件匯總

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

作者:丁儀

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

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

二進(jìn)制日志 binlog

二進(jìn)制日志 binlog 用于記錄數(shù)據(jù)庫(kù)執(zhí)行的寫入性操作(不包括查詢)信息,以二進(jì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ī)器開啟 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è)置日志寫入磁盤的時(shí)機(jī),默認(rèn)情況下是每次 commit 時(shí)寫入磁盤。也可以通過(guò) sync_binlog 參數(shù)設(shè)置成系統(tǒng)自動(dòng)判斷或每 N 個(gè)事務(wù)寫入一次。

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

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

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

慢查詢?nèi)罩居脕?lái)記錄執(zhí)行時(shí)間超過(guò)某個(gè)閾值的語(yǔ)句。執(zhí)行時(shí)間閾值可以通過(guò) long_query_time 來(lái)設(shè)置,默認(rèn)是 10 秒。慢查詢?nèi)罩拘枰謩?dòng)開啟,對(duì)性能有一些影響,一般不建議開啟。慢查詢?nèi)罩局С謱⒂涗泴懭胛募?,也支持寫入?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)存中的日志緩沖和磁盤上的日志文件。執(zhí)行 SQL 語(yǔ)句后,先寫入日志緩沖,后續(xù)再一次性把多條緩沖寫入文件。

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

事務(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)文章!

相關(guān)文章

  • Navicat連接MySQL提示1045錯(cuò)誤解決(重置MySQL密碼)

    Navicat連接MySQL提示1045錯(cuò)誤解決(重置MySQL密碼)

    連接MySQL數(shù)據(jù)庫(kù)時(shí)難免會(huì)遇到1045錯(cuò)誤,主要是因?yàn)橛脩糨斎氲挠脩裘蛎艽a錯(cuò)誤被拒絕訪問(wèn),如果不想重裝,需要找回密碼或者重置密碼,這篇文章主要給大家介紹了關(guān)于Navicat連接MySQL提示1045錯(cuò)誤解決的方法,主要是重置MySQL密碼,需要的朋友可以參考下
    2023-04-04
  • MySQL中表分區(qū)技術(shù)詳細(xì)解析

    MySQL中表分區(qū)技術(shù)詳細(xì)解析

    數(shù)據(jù)庫(kù)分區(qū)是一種物理數(shù)據(jù)庫(kù)設(shè)計(jì)技術(shù)。雖然分區(qū)技術(shù)可以實(shí)現(xiàn)很多效果,但其主要目的是為了在特定的SQL操作中減少數(shù)據(jù)讀寫的總量以縮減sql語(yǔ)句的響應(yīng)時(shí)間,同時(shí)對(duì)于應(yīng)用來(lái)說(shuō)分區(qū)完全是透明的。
    2016-06-06
  • Windows安裝MySQL后怎么開啟root的網(wǎng)絡(luò)訪問(wèn)權(quán)限

    Windows安裝MySQL后怎么開啟root的網(wǎng)絡(luò)訪問(wèn)權(quán)限

    Windows安裝MySQL后默認(rèn)只能本機(jī)訪問(wèn),怎么開啟網(wǎng)絡(luò)訪問(wèn),本文給大家介紹介紹了Windows安裝MySQL后怎么開啟root的網(wǎng)絡(luò)訪問(wèn)權(quán)限,需要的朋友可以參考下
    2023-08-08
  • mysql安裝數(shù)據(jù)庫(kù)初始化失敗問(wèn)題解決方法保姆級(jí)教程

    mysql安裝數(shù)據(jù)庫(kù)初始化失敗問(wèn)題解決方法保姆級(jí)教程

    這篇文章主要給大家介紹了關(guān)于mysql安裝數(shù)據(jù)庫(kù)初始化失敗問(wèn)題解決方法保姆級(jí)教程,包括更改電腦名稱、確保防火墻設(shè)置、清理殘留文件、檢查權(quán)限和配置文件等,需要的朋友可以參考下
    2025-01-01
  • Centos 6.5下安裝MySQL 5.6教程

    Centos 6.5下安裝MySQL 5.6教程

    這篇文章主要介紹了Centos 6.5下安裝MySQL 5.6教程,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-03-03
  • Mysql Error Code : 1436 Thread stack overrun

    Mysql Error Code : 1436 Thread stack overrun

    I meet with the error while calling stored procedures from the MySql in my Mac system server. It similar as the description below
    2011-07-07
  • Linux下將數(shù)據(jù)庫(kù)從MySQL遷移到MariaDB的基礎(chǔ)操作教程

    Linux下將數(shù)據(jù)庫(kù)從MySQL遷移到MariaDB的基礎(chǔ)操作教程

    這篇文章主要介紹了將數(shù)據(jù)庫(kù)從MySQL遷移到MariaDB的基礎(chǔ)操作教程,當(dāng)然遷移之前不要忘記數(shù)據(jù)庫(kù)的備份!需要的朋友可以參考下
    2015-11-11
  • Windows下簡(jiǎn)單的Mysql備份BAT腳本分享

    Windows下簡(jiǎn)單的Mysql備份BAT腳本分享

    朋友說(shuō)在windows下面用bat命令備份失敗,他一時(shí)找不到問(wèn)題所在,于是找我?guī)兔Σ榭聪?。查找后解決了該問(wèn)題,想著總結(jié)下來(lái),所以這篇文章主要跟大家分享了一個(gè)在Windows下簡(jiǎn)單的Mysql備份BAT腳本,需要的朋友可以參考下。
    2017-03-03
  • MySQL ALTER命令知識(shí)點(diǎn)匯總

    MySQL ALTER命令知識(shí)點(diǎn)匯總

    在本文中我們給大家整理了關(guān)于MySQL ALTER命令的用法以及相關(guān)知識(shí)點(diǎn)內(nèi)容,有興趣的朋友們學(xué)習(xí)下。
    2019-02-02
  • MySQL數(shù)據(jù)庫(kù)多表聯(lián)合查詢代碼示例

    MySQL數(shù)據(jù)庫(kù)多表聯(lián)合查詢代碼示例

    所謂聯(lián)合就是把多個(gè)表的記錄往一起合并,一起進(jìn)行查詢,也叫多表查詢,這篇文章主要給大家介紹了關(guān)于MySQL數(shù)據(jù)庫(kù)多表聯(lián)合查詢的相關(guān)資料,需要的朋友可以參考下
    2024-01-01

最新評(píng)論

雷山县| 阿拉尔市| 嵊州市| 呼伦贝尔市| 内丘县| 鞍山市| 大同市| 曲阳县| 广东省| 互助| 永善县| 梁山县| 治县。| 自贡市| 平陆县| 高阳县| 黄冈市| 商洛市| 托克逊县| 灵山县| 湘乡市| 南雄市| 惠来县| 五华县| 昌邑市| 古蔺县| 青阳县| 二连浩特市| 宽甸| 黔南| 方城县| 兴山县| 花莲县| 湘潭县| 肥城市| 安龙县| 沅江市| 通渭县| 东阳市| 石渠县| 海盐县|