mysql日志文件的詳細(xì)說明
mysql日志文件是我們比較熟悉的,下面就對mysql日志文件進(jìn)行了詳細(xì)的說明介紹,如果您對mysql日志文件方面感興趣的話,不妨一看。
1.錯(cuò)誤日志 Error Log
錯(cuò)誤日志記錄了mysql server 運(yùn)行過程中所有較為嚴(yán)重的警告和錯(cuò)誤信息,以及mysql每次啟動(dòng)和關(guān)閉的詳細(xì)信息。
開啟方法在啟動(dòng)mysql 時(shí)候加上--log-error選項(xiàng)。錯(cuò)誤日志默認(rèn)放在數(shù)據(jù)目錄下,以hostname.err命名。但是可以使用命令--log-error[=file_name]修改其存放目錄和文件名。
有時(shí)候,希望將錯(cuò)誤日志做備份并重新開始記錄,使用flush logs命令備份文件以.old結(jié)尾。
2.二進(jìn)制日志:Binary Log&Binary Log Index
就是常說的binlog,是mysql中最為重要的日志之一。在通過--log-bin[=file_name]打開記錄的功能之后,mysql會(huì)將所有修改數(shù)據(jù)庫數(shù)據(jù)的query以二進(jìn)制的時(shí)候記錄到日志文件中,其中包括每一條query所執(zhí)行的時(shí)間,所消耗的資源,以及相關(guān)事務(wù)信息,如果沒有指定file_name,會(huì)在數(shù)據(jù)目錄下記錄為mysql-bin.****。
binlog還有其他一些附加選項(xiàng)參數(shù):
--max_binlog_size設(shè)置binlog的最大存儲(chǔ)上限,當(dāng)日志到達(dá)這個(gè)上限的時(shí)候,會(huì)重新創(chuàng)建一個(gè)文件記錄。
--binlog-do-db=db_name參數(shù)告訴mysql只對某個(gè)數(shù)據(jù)庫記錄binlog
--binlog-ignore-db=db_name參數(shù)告訴mysql忽略對某個(gè)數(shù)據(jù)庫記錄binlog
3.更新日志:update log
mysql5.0以后不支持,和binlog類似,但是不是以二進(jìn)制形式記錄,是簡單的文本格式記錄
4.查詢?nèi)罩荆簈uery log
查詢?nèi)罩居涗沵ysql中所有的query,可通過--log[=file_name]來打開該日志,由于記錄了所有的query,體積龐大,開啟后對性能也有較大的影響,只在跟蹤某些特殊的query性能問題時(shí)候才會(huì)短暫開啟該功能。默認(rèn)的文件名hostname.log。
5.慢查詢?nèi)罩荆簊low query log
通過--log-slow-queries[=file_name]來打開該功能并設(shè)置記錄位置和文件名,默認(rèn)文件名:hostname-slow.log,默認(rèn)目錄也是數(shù)據(jù)目錄。
6InnoDB的在線的REDO日志:InnoDB REDO Log
REDO日志中記錄了InnoDB所做的所有物理變更和事務(wù)信息,通過REDO日志和UNDO信息,InnoDB保證了在任何情況下的事務(wù)安全性。InnoDB的REDO日志同樣默認(rèn)存放在數(shù)據(jù)目錄下,可以通過innodb_log_group_home_dir來更改設(shè)置日志的存放位置。通過innodb_log_files_in_group設(shè)置日志的數(shù)量。
【編輯推薦】