新聞中心
MySQL中有六種日志文件,分別是:重做日志(redo log)、回滾日志(undo log)、二進制日志(binlog)、錯誤日志(errorlog)、慢查詢?nèi)罩荆╯low query log)、一般查詢?nèi)罩荆╣eneral log)、中繼日志(relay log)。

普寧網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、成都響應式網(wǎng)站建設公司等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)公司2013年開創(chuàng)至今到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選創(chuàng)新互聯(lián)公司。
1、Error log ( 錯誤日志 )
錯誤日志記錄了 MySQL Server 運行過程中所有較為嚴重的警告和錯誤信息,以及 MySQL Server 每次啟動和關(guān)閉的詳細信息。
在默認情況下,系統(tǒng)記錄錯誤日志的功能是關(guān)閉的( 我所使用的 MySQL 5.6 是開啟的 ),錯誤信息被輸出到標準錯誤輸出( Stderr )。
需要開啟系統(tǒng)記錄錯誤日志功能時,需要在啟動時開啟 -log-error 選項。錯誤日志默認存放在數(shù)據(jù)目錄下,以 hostname.err 命令。
可以使用 –log-error=file_name 的方式或在 my.cnf 中指定其存放的位置和文件名。
為了方便維護,可以通過 flush logs 來生成新的日志文件( 要先將原有的日志文件 mv 一下 )。
2、Binary log( 二進制日志 )
二進制日志,即 binlog 。也是 MySQL Server 中最為重要的日志之一。
當我們通過 –log-bin=file_name 打開了二進制日志功能之后,MySQL 會將所有修改數(shù)據(jù)庫的 query 以二進制的形式記錄到日志文件中。
還包括每一條 query 所執(zhí)行的時間、消耗的資源,以及相關(guān)的事務信息;所以 binlog 是事務安全的。
二進制日志跟錯誤日志一樣,binlog 記錄功能也需要 –log-bin=file_name 或 my.cnf 中指定來開啟;如果沒有指定 file_name ,會在數(shù)據(jù)目錄下生成 MySQL-bin.******* 的日志文件。
MySQL-bin.index 文件的功能是記錄所有 Binary log 的絕對路徑,保證 MySQL 各種線程能順利根據(jù)它找到所需要的 Binary log 文件。
binlog 相關(guān)的其它參數(shù):
–max_binlog_size ## 設置 binlog 的最大存儲上限,當日志達到該上限時,MySQL 會重新生成一個新的日志開始繼續(xù)記錄。
偶爾也會超出該上限,是因為在即將到達上限時,產(chǎn)生了一個較大的事務,為了保證事務安全,MySQL 不會將同一個事務存放到兩個 binlog 中。
–binlog-do-db=db_name ## 僅僅針對該 db_name 記錄 binlog ,而忽略針對其余數(shù)據(jù)庫執(zhí)行的 query 。
–binlog-ignore-db=db_name ## 與上一參數(shù)正好相反,忽略針對該數(shù)據(jù)庫的 query ,記錄其余所有數(shù)據(jù)庫的 binlog 。
## 這兩參數(shù)指的 db_name 不是指 query 語句更新的數(shù)據(jù)所在的數(shù)據(jù)庫,而是執(zhí)行 query 時所處的數(shù)據(jù)庫。( 感覺很好理解,說多了容易亂 )
3、Update log( 更新日志 )
更新日志是 MySQL 在較老版本上使用的,其功能跟 binlog 類似,只不過不是以二進制格式記錄,而是以簡單文本格式記錄內(nèi)容。
從 MySQL 5.0 開始,MySQL 已經(jīng)不再支持更新日志了。
4、Query log( 查詢?nèi)罩?)
查詢?nèi)罩居涗?MySQL 中所有的 query ,通過 –log=file_name 來打開該功能。
由于該日志記錄了所有的 query ,包括所有的 select ,體積比較大,開啟后會對性能有較大的影響,所以一般不開啟。
該日志一般用于跟蹤某些特殊的 SQL 性能問題才會短暫開啟。默認文件名為 hostname.log ,位置也在數(shù)據(jù)目錄下。
5、Slow query log ( 慢查詢?nèi)罩?)
慢查詢?nèi)罩居涗浀木褪菆?zhí)行時間較長的 query 咯,即 Slow query 。
通過 –log-slow-queries=file_name 開打開此功能并設置文件位置和文件名,默認文件名為 hostname-slow.log ,位置同樣在數(shù)據(jù)目錄下。
慢查詢?nèi)罩静捎玫氖呛唵挝谋靖袷?,可以通過各種文本編輯器查看其中的內(nèi)容。
記錄了語句執(zhí)行的時刻,所消耗的時間、執(zhí)行的用戶、連接主機等相關(guān)信息。
MySQL 還提供了用于專門分析慢查詢?nèi)罩镜墓ぞ?MySQLslowdump ,用來幫助我們了解可能存在的性能問題。
6、Innodb redo log ( Innodb 的在線 redo 日志 )
Innodb 是一個事務安全的存儲引擎,其事務安全性主要就是通過在線 redo 日志和記錄在表空間中的 undo 信息來保證的。
redo 日志中記錄了 Innodb 所做的所有物理變更和事務信息,通過 redo 日志和 undo 信息,Innodb 保證了在任何情況下的事務安全性。
Innodb 的 redo 日志同樣默認在數(shù)據(jù)目錄下,可以通過 innodb_log_group_home_dir 來更改其存放位置,通過 innodb_log_files_in_group 設置日志數(shù)量。
文章題目:MySQL中有六種日志文件講解
本文URL:http://m.fisionsoft.com.cn/article/djjpejc.html


咨詢
建站咨詢
