2.3配置查詢日志輸出路徑 從5.1.6版本開始,MySQL提供了更靈活的方式控制日志文件的輸出以及輸出路徑。MySQL的標準日志(特指general_log和slow_log),即可以輸出到文件,同時也能夠以表的形式保存在數據庫mysql中的同名表內,而在5.1.6版本之前,只記錄日志
從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參數可選值有三個:
上述參數值在設置時可以同時指定多個,相互之間以","逗號分隔即可。
在指定--log-output參數值不為NONE的基礎上,才有可能繼續日志文件輸出路徑的設置,要控制普通查詢日志或是慢查詢日志文件的生成,又有另外的參數:
提示:
在5.1.29版本之前,沒有--general_log_file和--slow_query_log_file這兩個參數,控制文件名及輸出路徑是通過--log和--log-slow-queries兩個參數。文學描述如果覺著不夠清晰,那就看下面幾個例子再強化一下吧,比如說:
--log-output=TABLE,FILE --general_log
--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命令行中的參數相似度極高,甚至包括名稱、功能、參數值語法等都一模一樣,如果要說有區別的話,就是命令行參數是在命令執行時調用,一經設置,除非重新運行命令行,否則無法修改,而很多系統環境變量,則支持服務運行過程中進行動態的修改,這其中,就包括與日志文件配置相關的一些參數:
上面這幾個參數均支持全局動態修改,參數的功能與前面命令行中同名參數完全相同,就不多說了,著重描述下面這個參數:
============================================
連載:
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com