MySQL資料庫中的日誌檔案---(4)配置日誌檔案輸出路徑
2.3 配置查詢日誌輸出路徑
從5.1.6版本開始,MySQL提供了更靈活的方式控制日誌檔案的輸出以及輸出路徑。MySQL的標準日誌(特指general_log和slow_log),即可以輸出到檔案,同時也能夠以表的形式儲存在資料庫mysql中的同名表內,而在5.1.6版本之前,只記錄日誌到檔案。
提示:
從5.1.6版本開始,日誌表會在安裝過程中隨其它系統表一同建立。如果是從5.1.6之前的版本升級而來,那麼DBA需要注意,要手動升級系統表,以確保相關日誌表存在。
當前,日誌記錄到系統的專用日誌表中,要比記錄到檔案耗費更多的系統資源,因此對於需要啟用日誌,又需要能夠獲得更高的系統效能,那麼建議優先記錄到檔案。
不過,記錄到系統表當然也有它的好處,比如說這類表可以通過簡單的授權,即可讓所有連線到MySQL資料庫的使用者檢視到日誌中記錄的內容,而且日誌表可以通過SQL語句訪問,這樣也能夠比較便捷的通過SQL語句的強大功能進行資料過濾,這都是日誌檔案不易做到的功能。
2.3.1 服務啟動時進行配置
MySQL的命令列在啟動時可以載入很多引數,其中就提供了一個日誌專用的引數--log-output,用來指定日誌檔案的輸出方式,注意,說的是輸出方式,也就是說到底是記錄到作業系統中的檔案,還是記錄到資料庫系統中的專用表。
--log-output引數可選值有三個:
- TABLE:記錄到資料庫中的日誌表;
- FILE:記錄到日誌檔案,預設值即為FILE (在5.1.6到5.1.20版本時,預設值為TABLE);
- NONE:不記錄。
上述引數值在設定時可以同時指定多個,相互之間以","逗號分隔即可。
在指定--log-output引數值不為NONE的基礎上,才有可能繼續日誌檔案輸出路徑的設定,要控制普通查詢日誌或是慢查詢日誌檔案的生成,又有另外的引數:
- --general_log:控制是否生成普通查詢日誌,可選值有兩個:1表示啟用,0表示禁用,預設值為:0,不過當指定了該引數而不指定引數值時,預設值為1;
- --general_log_file:5.1.29版本後開始支援該引數,用來指定普通查詢日誌檔案的檔名及輸出路徑,預設檔名為[host_name].log;
- --slow_query_log:控制是否生成慢查詢日誌,可選值有兩個:1表示啟用,0表示禁用,預設值為:0,不過當指定了該引數而不指定引數值時,預設值為1;
- --slow_query_log_file:5.1.29版本後開始支援該引數,用來指定慢查詢日誌檔案的檔名及輸出路徑,預設檔名為[host_name]-slow.log:
提示:
在5.1.29版本之前,沒有--general_log_file和--slow_query_log_file這兩個引數,控制檔名及輸出路徑是通過--log和--log-slow-queries兩個引數。- --log:指定普通查詢日誌的輸出路徑,並啟用日誌輸出功能,預設檔名為[host_name].log,該引數在5.1.29版本後廢棄;
- --log-slow_queries:指定慢查詢日誌的輸出路徑,並啟用日誌輸出功能,預設檔名為[host_name]-slow.log,該引數在5.1.29版本後廢棄。
文學描述如果覺著不夠清晰,那就看下面幾個例子再強化一下吧,比如說:
- 僅啟用普通查詢日誌,並記錄到日誌檔案和日誌表,則啟動mysql服務時設定引數如下:
- --log-output=TABLE,FILE --general_log
- 啟用普通查詢日誌和慢查詢日誌,日誌記錄到資料庫中的日誌表,啟動mysql服務時設定引數如下:
- --log-output=TABLE --general_log --slow_query_log
- 僅啟用慢查詢日誌,記錄到日誌檔案,設定引數如下:
- --log-output=FILE --slow_query_log
- 僅啟用慢查詢日誌,記錄到日誌檔案,並指定輸出路徑,設定引數如下:
- --log-output=FILE --slow_query_log --slow_query_log_file=/data/mysql/logs/slow.log
2.3.2 服務執行中進行配置
MySQL提供了非常多的系統環境變數,用來控制MySQL服務執行時的狀態。
其中,有不少的系統變數與MySQL命令列中的引數相似度極高,甚至包括名稱、功能、引數值語法等都一模一樣,如果要說有區別的話,就是命令列引數是在命令執行時呼叫,一經設定,除非重新執行命令列,否則無法修改,而很多系統環境變數,則支援服務執行過程中進行動態的修改,這其中,就包括與日誌檔案配置相關的一些引數:
- log_output:
- general_log&slow_query_log:
- general_log_file&slow_query_log_file:
上面這幾個引數均支援全域性動態修改,引數的功能與前面命令列中同名引數完全相同,就不多說了,著重描述下面這個引數:
- sql_log_off:可選引數值為ON/OFF(1/0亦可,MySQL系統環境變數的設定非常靈活,將另起章節專門描述),用來指定是否啟用/禁用當前會話執行的語句記錄到普通查詢日誌,預設值為OFF。該引數是個會話級引數,使用者必須要擁有SUPER許可權才能夠設定該選項。
============================================
連載:
MySQL資料庫中的日誌檔案---(3)慢查詢日誌
MySQL資料庫中的日誌檔案---(2)普通查詢日誌
MySQL資料庫中的日誌檔案---(1)錯誤日誌
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7607759/viewspace-708914/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL資料庫中的日誌檔案---(1)錯誤日誌MySql資料庫
- MySQL資料庫中的日誌檔案---(3)慢查詢日誌MySql資料庫
- MySQL資料庫中的日誌檔案---(2)普通查詢日誌MySql資料庫
- MySQL InnoDB日誌檔案配置MySql
- MySQL資料庫中的日誌檔案---(5)系統日誌表的特點MySql資料庫
- 建立資料庫檔案-日誌檔案-次要資料庫檔案資料庫
- 探究MySQL中的日誌檔案MySql
- 【Oracle】如何修改資料檔案和日誌檔案的路徑Oracle
- 【MySQL日誌】MySQL日誌檔案初級管理MySql
- log4j日誌檔案配置
- MySQL資料庫中常見的日誌檔案彙總!MySql資料庫
- oracle中移動控制檔案、資料檔案、日誌檔案Oracle
- java專案日誌配置檔案Java
- 日誌檔案和歸檔日誌檔案的關係以及如何切換日誌
- oracle資料庫移動資料檔案、日誌檔案和控制檔案Oracle資料庫
- 分析Oracle資料庫日誌檔案(1)Oracle資料庫
- 分析Oracle資料庫日誌檔案(2)Oracle資料庫
- 分析Oracle資料庫日誌檔案(3)Oracle資料庫
- Java - 自動配置log4j的日誌檔案路徑Java
- 【Oracle日誌】- 日誌檔案重建Oracle
- 日誌檔案
- window下刪除過舊的日誌檔案指令碼(如jboss的日誌檔案 資料庫的trace檔案)指令碼資料庫
- MySQL 日誌檔案 說明MySql
- mysql的日誌檔案詳解MySql
- oracle 資料庫lsnrctl監聽的日誌路徑和trace檔案Oracle資料庫
- mysql學習8:第四章:資料庫檔案--日誌檔案MySql資料庫
- 在Oracle中移動資料檔案、控制檔案和日誌檔案Oracle
- 12c日誌檔案路徑
- 資料檔案重建,從歸檔日誌中回退資料
- 分析Oracle資料庫日誌檔案(三)EPOracle資料庫
- 分析Oracle資料庫日誌檔案(二)DOOracle資料庫
- 分析Oracle資料庫日誌檔案(一)HBOracle資料庫
- SQL Server 無日誌檔案附加資料庫SQLServer資料庫
- 分析Oracle資料庫日誌檔案(1)(轉)Oracle資料庫
- 分析Oracle資料庫日誌檔案(1) [轉]Oracle資料庫
- 刪除日誌檔案組與日誌檔案成員
- 重做日誌檔案中的SCN
- MySQL中的幾類日誌檔案介紹MySql