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

MySQL日志文件詳解

 更新時(shí)間:2015年07月02日 11:27:34   投稿:junjie  
這篇文章主要介紹了MySQL日志文件詳解,本文分別講解了錯(cuò)誤日志、二進(jìn)制日志、通用查詢?nèi)罩尽⒙樵內(nèi)罩?、Innodb的在線redo日志、更新日志等日志類型和作用介紹,需要的朋友可以參考下

概述

日志文件是MySQL數(shù)據(jù)庫(kù)的重要組成部分。MySQL有幾種不同的日志文件,通常包括錯(cuò)誤日志文件,二進(jìn)制日志,通用日志,慢查詢?nèi)罩?,等等。這些日志可以幫助我們定位mysqld內(nèi)部發(fā)生的事件,數(shù)據(jù)庫(kù)性能故障,記錄數(shù)據(jù)的變更歷史,用戶恢復(fù)數(shù)據(jù)庫(kù)等等。本文主要描述MySQL的各種日志文件。

MySQL日志文件分類

1.錯(cuò)誤日志(Error Log)
2.二進(jìn)制日志(Binary Log & Binary Log Index)
3.通用查詢?nèi)罩?query log)
4.慢查詢?nèi)罩?slow query log)
5.Innodb的在線 redo 日志(innodb redo log)
6.更新日志(update log)

錯(cuò)誤日志

錯(cuò)誤日志記錄了MyQL Server運(yùn)行過(guò)程中所有較為嚴(yán)重的警告和錯(cuò)誤信息,以及MySQL
Server 每次啟動(dòng)和關(guān)閉的詳細(xì)信息。在默認(rèn)情況下,系統(tǒng)記錄錯(cuò)誤日志的功能是關(guān)閉的, 錯(cuò)誤信息被輸出到標(biāo)準(zhǔn)錯(cuò)誤輸出(stderr) ,如果要開(kāi)啟系統(tǒng)記錄錯(cuò)誤日志的功能,需要在啟動(dòng)時(shí)開(kāi)啟-log-error 選項(xiàng)。錯(cuò)誤日志的默認(rèn)存放位置在數(shù)據(jù)目錄下,以hostname.err 命 名。但是可以使用命令:—log-error[=file_name],修改其存放目錄和文件名。
為了方便維護(hù)需要, 有時(shí)候會(huì)希望將錯(cuò)誤日志中的內(nèi)容做備份并重新開(kāi)始記錄, 這候時(shí) 就可以利用 MySQL 的 FLUSH LOGS 命令來(lái)告訴 MySQL 備份舊日志文件并生成新的日志文件。 備份文件名以“.old”結(jié)尾。

二進(jìn)制日志

二進(jìn)制日志,也就是我們常說(shuō)的 binlog,也是 MySQL Server 中最為重要的日志之一。
當(dāng)我們通過(guò)“—log-bin[=file_name]”打開(kāi)了記錄的功能之后,MySQL 會(huì)將所有修改數(shù)據(jù) 庫(kù)數(shù)據(jù)的 query 以二進(jìn)制形式記錄到日志文件中。 當(dāng)然, 日志中并不僅限于query 語(yǔ)句這么 簡(jiǎn)單, 還包括每一條query 所執(zhí)行的時(shí)間, 所消耗的資源, 以及相關(guān)的事務(wù)信息,bi所nl以og 是事務(wù)安全的。
和錯(cuò)誤日志一樣,binlog 記錄功能同樣需要“—log-bin[=file_name]”參數(shù)的顯式指 定才能開(kāi)啟, 如果未指定file_name, 則會(huì)在數(shù)據(jù)目錄下記錄為mysql-bin.** (*代表0~ 9 之間的某一個(gè)數(shù)字,來(lái)表示該日志的序號(hào))。
binlog 還有其他一些附加選項(xiàng)參數(shù):
“—max_binlog_size”設(shè)置 binlog 的最大存儲(chǔ)上限,當(dāng)日志達(dá)到該上限時(shí),MySQL 會(huì) 重新創(chuàng)建一個(gè)日志開(kāi)始繼續(xù)記錄。不過(guò)偶爾也有超出該設(shè)置的binlog 產(chǎn)生,一般都是因?yàn)?在即將達(dá)到上限時(shí),產(chǎn)生了一個(gè)較大的事務(wù),為了保證事務(wù)安全,MySQL 不會(huì)將同一個(gè)事務(wù) 分開(kāi)記錄到兩個(gè) binlog 中。
“—binlog-do-db=db_name”參數(shù)明確告訴 MySQL,需要對(duì)某個(gè)(db_name)數(shù)據(jù)庫(kù)記 錄 binlog,如果有了“—binlog-do-db=db_name”參數(shù)的顯式指定,MySQL 會(huì)忽略針對(duì)其他 數(shù)據(jù)庫(kù)執(zhí)行的 query,而僅僅記錄針對(duì)指定數(shù)據(jù)庫(kù)執(zhí)行的query。
“—binlog-ignore-db=db_name”與“—binlog-do-db=db_name”完全相反, 它顯式指 定忽略某個(gè)(db_name)數(shù)據(jù)庫(kù)的binlog 記錄,當(dāng)指定了這個(gè)參數(shù)之后,MySQL 會(huì)記錄指定 數(shù)據(jù)庫(kù)以外所有的數(shù)據(jù)庫(kù)的 binlog。
“—binlog-ignore-db=db_name”與“—binlog-do-db=db_name”兩個(gè)參數(shù)有一個(gè)共同 的概念需要大家理解清楚,參數(shù)中的db_name 不是指 query 語(yǔ)句更新的數(shù)據(jù)所在的數(shù)據(jù)庫(kù), 而是執(zhí)行 query 的時(shí)候當(dāng)前所處的數(shù)據(jù)庫(kù)。 不論更新哪個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù),MySQL 僅僅比較當(dāng) 前連接所處的數(shù)據(jù)庫(kù)(通過(guò)use db_name切換后所在的數(shù)據(jù)庫(kù))與參數(shù)設(shè)置的數(shù)據(jù)庫(kù)名,而 不會(huì)分析 query 語(yǔ)句所更新數(shù)據(jù)所在的數(shù)據(jù)庫(kù)。
mysql-bin.index 文件(binary log index)的功能是記錄所有Binary Log的絕對(duì)路 徑,保證 MySQL 各種線程能夠順利的根據(jù)它找到所有需要的Binary Log 文件。

通用查詢?nèi)罩?/strong>

查詢?nèi)罩居涗?MySQL 中所有的 query,通過(guò)“—log[=fina_name]”來(lái)打開(kāi)該功能。由
于記錄了所有的 query,包括所有的 select,體積比較大,開(kāi)啟后對(duì)性能也有較大的影響, 所以請(qǐng)大家慎用該功能。 一般只用于跟蹤某些特殊的sql 性能問(wèn)題才會(huì)短暫打開(kāi)該功能。默認(rèn)的查詢?nèi)罩疚募麨?hostname.log。

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

顧名思義,慢查詢?nèi)罩局杏涗浀氖菆?zhí)行時(shí)間較長(zhǎng)的 query,也就是我們常說(shuō)的 slow
query,通過(guò)設(shè) —log-slow-queries[=file_name]來(lái)打開(kāi)該功能并設(shè)置記錄位置和文件名, 默認(rèn)文件名為 hostname-slow.log,默認(rèn)目錄也是數(shù)據(jù)目錄。
慢查詢?nèi)罩静捎玫氖呛?jiǎn)單的文本格式, 可以通過(guò)各種文本編輯器查看其中的內(nèi)容。中其 記錄了語(yǔ)句執(zhí)行的時(shí)刻,執(zhí)行所消耗的時(shí)間,執(zhí)行用戶,連接主機(jī)等相關(guān)信息。MySQL 還提 供了專門(mén)用來(lái)分析滿查詢?nèi)罩镜墓ぞ叱绦騧ysqlslowdump, 用來(lái)幫助數(shù)據(jù)庫(kù)管理人員解決可 能存在的性能問(wèn)題。

Innodb的在線redo日志

Innodb 是一個(gè)事務(wù)安全的存儲(chǔ)引擎, 其事務(wù)安全性主要就是通過(guò)在線redo 日志和記錄
在表空間中的 undo 信息來(lái)保證的。redo 日志中記錄了 Innodb 所做的所有物理變更和事務(wù) 信息, 通過(guò)redo 日志和 undo 信息, Innodb 保證了在任何情況下的事務(wù)安全性。Innodb 的redo 日志同樣默認(rèn)存放在數(shù)據(jù)目錄下, 可以通過(guò)innodb_log_group_home_dir來(lái)更改設(shè)置日志的 存放位置,通過(guò) innodb_log_files_in_group 設(shè)置日志的數(shù)量。

更新日志

更新日志是 MySQL 在較老的版本上使用的,其功能和 binlog 基本類似,只不過(guò)不是以
二進(jìn)制格式來(lái)記錄而是以簡(jiǎn)單的文本格式記錄內(nèi)容。自從 MySQL增加了binlog功能之后, 就很少使用更新日志了。從版本5.0 開(kāi)始,MySQL 已經(jīng)不再支持更新日志了。

總結(jié)

本篇文章整理了MySQL中的各種日志文件,每種日志文件都用其特定的用途,這些會(huì)在以后的文章中進(jìn)行描述。

相關(guān)文章

  • 詳解MySQL分組鏈接的使用技巧

    詳解MySQL分組鏈接的使用技巧

    本篇文章主要針對(duì)MYSQL中分組以及4種鏈接做了詳細(xì)的分析,有助于大家對(duì)這2項(xiàng)MYSQL功能有深入的理解,參考學(xué)習(xí)下吧。
    2017-12-12
  • Centos中安裝多個(gè)mysql數(shù)據(jù)的配置實(shí)例

    Centos中安裝多個(gè)mysql數(shù)據(jù)的配置實(shí)例

    最近因?yàn)閱挝豁?xiàng)目擴(kuò)充,需要在原線上數(shù)據(jù)庫(kù)服務(wù)器上加裝一個(gè)mysql實(shí)例(實(shí)際上就是從新編譯安裝一個(gè)非3306的自定義端口,不同目錄的mysql),研究了一天,終于順利搞定,這里把配置步驟發(fā)給大家,供大家學(xué)習(xí)使用
    2014-04-04
  • MySQL性能優(yōu)化之如何高效正確的使用索引

    MySQL性能優(yōu)化之如何高效正確的使用索引

    這篇文章主要介紹了MySQL如何高效正確的使用索引,幫助大家更好的理解和學(xué)習(xí)MySQL,感興趣的朋友可以了解下
    2020-08-08
  • windows10安裝mysql5.7.17教程

    windows10安裝mysql5.7.17教程

    windows10安裝mysql5.7.17是這樣安裝的嗎?這篇文章主要為大家詳細(xì)介紹了win10下mysql5.7.17安裝配置方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • MySQL中數(shù)據(jù)導(dǎo)入恢復(fù)的簡(jiǎn)單教程

    MySQL中數(shù)據(jù)導(dǎo)入恢復(fù)的簡(jiǎn)單教程

    這篇文章主要介紹了MySQL中數(shù)據(jù)導(dǎo)入恢復(fù)的簡(jiǎn)單教程,主要用到了LOAD DATA語(yǔ)句,需要的朋友可以參考下
    2015-05-05
  • MySQL 5.7及8.0版本數(shù)據(jù)庫(kù)的root密碼遺忘的解決方法

    MySQL 5.7及8.0版本數(shù)據(jù)庫(kù)的root密碼遺忘的解決方法

    這篇文章主要介紹了MySQL 5.7及8.0版本數(shù)據(jù)庫(kù)的root密碼遺忘的解決辦法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2019-12-12
  • MySQL 導(dǎo)出數(shù)據(jù)為csv格式的方法

    MySQL 導(dǎo)出數(shù)據(jù)為csv格式的方法

    這篇文章主要介紹了MySQL 導(dǎo)出數(shù)據(jù)為csv格式的方法,需要的朋友可以參考下
    2015-10-10
  • MySQL中索引的分類詳解

    MySQL中索引的分類詳解

    這篇文章主要介紹了MySQL中索引的分類詳解,普通索引就是最基礎(chǔ)的索引,這種索引沒(méi)有任何的約束作用,它存在的主要意義就是提高查詢效率,唯一性索引是在普通索引的基礎(chǔ)上增加了數(shù)據(jù)唯一性的約束,一個(gè)表中可以有多個(gè),需要的朋友可以參考下
    2023-08-08
  • Mysql查詢表字段結(jié)構(gòu)注釋的方式

    Mysql查詢表字段結(jié)構(gòu)注釋的方式

    這篇文章主要介紹了Mysql查詢表字段結(jié)構(gòu)注釋的方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • MySQL 實(shí)用命令

    MySQL 實(shí)用命令

    對(duì)于剛接觸到mysql的朋友,需要的了解下,mysql的一些小技巧。
    2009-03-03

最新評(píng)論