《Mysql入門MySQL日志文件詳解》要點:
本文介紹了Mysql入門MySQL日志文件詳解,希望對您有用。如果有疑問,可以聯系我們。
MYSQL學習概述
MYSQL學習日志文件是MySQL數據庫的重要組成部分.MySQL有幾種不同的日志文件,通常包括錯誤日志文件,二進制日志,通用日志,慢查詢日志,等等.這些日志可以贊助我們定位mysqld內部發生的事件,數據庫性能故障,記錄數據的變更歷史,用戶恢復數據庫等等.本文主要描述MySQL的各種日志文件.
MYSQL學習MySQL日志文件分類
MYSQL學習1.差錯日志(Error Log)
2.二進制日志(Binary Log & Binary Log Index)
3.通用查詢日志(query log)
4.慢查詢日志(slow query log)
5.Innodb的在線 redo 日志(innodb redo log)
6.更新日志(update log)
MYSQL學習差錯日志
MYSQL學習錯誤日志記錄了MyQL Server運行過程中所有較為嚴重的警告和錯誤信息,以及MySQL
Server 每次啟動和關閉的詳細信息.在默認情況下,系統記錄錯誤日志的功能是關閉的, 錯誤信息被輸出到標準錯誤輸出(stderr) ,如果要開啟系統記錄錯誤日志的功能,必要在啟動時開啟-log-error 選項.錯誤日志的默認存放位置在數據目錄下,以hostname.err 命 名.但是可以使用命令:―log-error[=file_name],修改其存放目錄和文件名.
為了方便維護必要, 有時候會希望將錯誤日志中的內容做備份并重新開始記錄, 這候時 就可以利用 MySQL 的 FLUSH LOGS 命令來告訴 MySQL 備份舊日志文件并生成新的日志文件. 備份文件名以“.old”結尾.
MYSQL學習二進制日志
MYSQL學習二進制日志,也就是我們常說的 binlog,也是 MySQL Server 中最為重要的日志之一.
當我們通過“―log-bin[=file_name]”打開了記錄的功能之后,MySQL 會將所有修改數據 庫數據的 query 以二進制形式記錄到日志文件中. 當然, 日志中并不僅限于query 語句這么 簡單, 還包括每一條query 所執行的時間, 所消耗的資源, 以及相關的事務信息,bi所nl以og 是事務平安的.
和錯誤日志一樣,binlog 記錄功能同樣需要“―log-bin[=file_name]”參數的顯式指 定才能開啟, 如果未指定file_name, 則會在數據目錄下記錄為mysql-bin.** (*代表0~ 9 之間的某一個數字,來表示該日志的序號).
binlog 還有其他一些附加選項參數:
“―max_binlog_size”設置 binlog 的最大存儲上限,當日志達到該上限時,MySQL 會 重新創建一個日志開始繼續記錄.不過偶爾也有超出該設置的binlog 產生,一般都是因為 在即將達到上限時,產生了一個較大的事務,為了保證事務平安,MySQL 不會將同一個事務 分開記錄到兩個 binlog 中.
“―binlog-do-db=db_name”參數明確告訴 MySQL,需要對某個(db_name)數據庫記 錄 binlog,如果有了“―binlog-do-db=db_name”參數的顯式指定,MySQL 會忽略針對其他 數據庫執行的 query,而僅僅記錄針對指定數據庫執行的query.
“―binlog-ignore-db=db_name”與“―binlog-do-db=db_name”完全相反, 它顯式指 定忽略某個(db_name)數據庫的binlog 記錄,當指定了這個參數之后,MySQL 會記錄指定 數據庫以外所有的數據庫的 binlog.
“―binlog-ignore-db=db_name”與“―binlog-do-db=db_name”兩個參數有一個共同 的概念需要大家理解清楚,參數中的db_name 不是指 query 語句更新的數據所在的數據庫, 而是執行 query 的時候當前所處的數據庫. 不論更新哪個數據庫的數據,MySQL 僅僅比較當 前連接所處的數據庫(通過use db_name切換后所在的數據庫)與參數設置的數據庫名,而 不會分析 query 語句所更新數據所在的數據庫.
mysql-bin.index 文件(binary log index)的功能是記錄所有Binary Log的絕對路 徑,保證 MySQL 各種線程能夠順利的根據它找到所有需要的Binary Log 文件.
MYSQL學習通用查詢日志
MYSQL學習查詢日志記錄 MySQL 中所有的 query,通過“―log[=fina_name]”來打開該功能.由
于記錄了所有的 query,包含所有的 select,體積比較大,開啟后對性能也有較大的影響, 所以請大家慎用該功能. 一般只用于跟蹤某些特殊的sql 性能問題才會短暫打開該功能.默認的查詢日志文件名為 hostname.log.
MYSQL學習慢查詢日志
MYSQL學習顧名思義,慢查詢日志中記錄的是執行時間較長的 query,也就是我們常說的 slow
query,通過設 ―log-slow-queries[=file_name]來打開該功能并設置記錄位置和文件名, 默認文件名為 hostname-slow.log,默認目錄也是數據目錄.
慢查詢日志采用的是簡單的文本格式, 可以通過各種文本編輯器查看其中的內容.中其 記錄了語句執行的時刻,執行所消耗的時間,執行用戶,連接主機等相關信息.MySQL 還提 供了專門用來分析滿查詢日志的工具程序mysqlslowdump, 用來幫助數據庫管理人員辦理可 能存在的性能問題.
MYSQL學習Innodb的在線redo日志
MYSQL學習Innodb 是一個事務平安的存儲引擎, 其事務平安性主要就是通過在線redo 日志和記錄
在表空間中的 undo 信息來保證的.redo 日志中記錄了 Innodb 所做的所有物理變更和事務 信息, 通過redo 日志和 undo 信息, Innodb 保證了在任何情況下的事務平安性.Innodb 的redo 日志同樣默認存放在數據目錄下, 可以通過innodb_log_group_home_dir來更改設置日志的 存放位置,通過 innodb_log_files_in_group 設置日志的數量.
MYSQL學習更新日志
MYSQL學習更新日志是 MySQL 在較老的版本上使用的,其功能和 binlog 基本類似,只不外不是以
二進制格式來記錄而是以簡單的文本格式記錄內容.自從 MySQL增加了binlog功能之后, 就很少使用更新日志了.從版本5.0 開始,MySQL 已經不再支持更新日志了.
MYSQL學習總結
MYSQL學習本篇文章整理了MySQL中的各類日志文件,每種日志文件都用其特定的用途,這些會在以后的文章中進行描述.
維易PHP培訓學院每天發布《Mysql入門MySQL日志文件詳解》等實戰技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養人才。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/9481.html