mysql日誌管理
mysql日誌分為:二進位制檔案、錯誤日誌、刪除日誌檔案
在mysql軟體所支援的日誌檔案裡。除了二進位制檔案外,其他日誌檔案都是文字檔案
預設情況下。mysql軟體只會啟動錯誤日誌檔案,而其他日誌檔案則需要手動啟動才可以被啟動。
mysql軟體所支援的日誌
二進位制日誌檔案:該日誌問價會以二進位制形式記錄資料庫的各種操作,但卻不記錄查詢語句
錯誤日誌:該日誌檔案會記錄mysql伺服器啟動、關閉和執行時出錯等資訊。
通用查詢日誌:該日誌記錄mysql伺服器的啟動和關閉資訊,客戶端的連線資訊、更新資料記錄的sql語句和查詢資料記錄sql語句
慢查詢日誌:記錄執行時間超過指定時間的各種操作,通過工具分析慢查詢日誌可以定位 mysql服務其效能瓶頸所在。
啟動日誌後可以實現對伺服器進行維護,但是會降低mysql軟體的執行速度
一、操作二進位制日誌
(一)啟動二進位制日誌
預設情況下,二進位制日期是關閉的,如果想啟動二進位制日誌,可以通過設定mysql伺服器的配置檔案my.ini來實現
如果mysql資料庫意外停止,可以通過二進位制日誌檔案來檢視使用者執行了哪些操作。對資料庫伺服器進行了哪些修改,然後根據二進位制檔案中的記錄來恢復資料庫伺服器
[mysqld]
log-bin[=dir\[filename]]
在上述語句中,引數dir用來指定,二進位制檔案的儲存路徑,引數filename用來指定二進位制檔案的檔名,具體的格式為filename.number,其中
eg:[mysqld]
log-bin=d:\mysqllog\binlog
(二)檢視二進位制日誌
mysqlbinlog filename.number
在上述命令中,引數filename.number表示所要檢視的二進位制日誌
注意:要進入存放二進位制日誌的目錄,再執行該命令
(三)停止二進位制日誌
set sql_log_bin=0
set sql_log_bin=1
當設定sql_log_bin的值為0時,表示暫停二進位制日誌功能,當設定sql_log_bin的值為1時,表示重新開啟二進位制功能。
注意:只有擁有suoer許可權的使用者,才可以執行set語句
(四)刪除二進位制日誌
reset master;
執行上述命令可以刪除所有二進位制檔案
purge master logs to filename.number
執行上述命令,可以刪除編號小於number的所有二進位制日誌檔案
purge master logs before 'yyyy-mm-dd hh:mm:ss'
執行上述命令,可以刪除指定時間之前所建立的所有二進位制日誌檔案
二、操作錯誤日誌
在mysql資料庫伺服器裡,錯誤日誌預設是開啟的,同時該種型別的日誌也是無法被禁止的。
錯誤日誌一般存放在mysql伺服器的資料資料夾下(c:/programfiles\mysql/mysql server 5.0 data),錯誤日誌檔案通常的名稱格式,為hostname.err,其中引數hostname表示mysql伺服器的主機名
(一)啟動錯誤日誌
如果想修改錯誤日誌的存放目錄,可以通過設定mysql伺服器的配置檔案my.ini來實現
[mysqld]
error-bin[dir/[filename]]
(二)檢視錯誤日誌
錯誤日誌是以文字檔案的形式儲存內容,所以可以直接使用普通文字工具來檢視該型別的日誌內容。
(三)刪除錯誤日誌
mysqladmin -u root -p flush-logs
執行上述命令,mysql首先會建立乙個新的錯誤日誌,然後將舊的錯誤日誌更名為filename.err-old。如果資料庫管理員認為filename.err-old檔案沒有任何用處,既沒有任何存在的理由,可以直接刪除。
三、通用日誌查詢
通用查詢日誌主要用來記錄使用者關於mysql伺服器的所有操作,包含了mysql伺服器的啟動和關閉資訊,客戶端的連線資訊,更新資料記錄sql語句和查詢資料記錄sql語句。
一般建議關閉此日誌,需要時可以通過設定環境變數開啟。
(一)啟動日誌查詢
預設情況下,通用查詢日誌是關閉的,如果想啟動通用查詢日誌,可以通過設定mysql伺服器的配置檔案my.ini來實現。
#通過設定my.ini設定檔案
[mysqld]
log [=dir\filename]
#通過設定環境變數啟動日誌
#通過設定環境變數general_log進行通用日誌的動態控制,on表示開啟
mysql > set global general_log=on;
#檢視相關環境變數
mysql > show varibles like '%general_log%' \g
四、慢查詢日誌
主要用來記錄執行時間超過指定時間的查詢語句,通過檢視該型別的日誌檔案,可以查詢到哪些查詢語句的執行效率低,以便找出mysql伺服器的效能瓶頸從而進行優化。
(一)啟動慢查詢日誌
預設情況下,慢查詢日誌是關閉的,如果想啟動慢查詢日誌,可以通過設定mysql伺服器的配置檔案my.ini
[mysqld]
log-slow-queries[=dir\[filename]]
long_query_time=n
#通過設定環境變數general_log進行通用日誌的動態控制,on表示開啟
mysql > set global slow_query_log=on;
mysql > set global long_query_time=3;
(二)分析慢查詢日誌
mysql提供了對應的工具用於分析mysql慢查詢日誌的內容,,對應的工具為mysqldumpslow.pl
mysql日誌管理
1,錯誤日誌 記錄啟動 執行或停止時出現的問題,一般也會記錄警告資訊。2,一般查詢日誌 記錄建立的客戶端連線和執行的語句。3,慢查詢日誌 記錄所有執行時間超過long query time秒的所有查詢或不使用索引的查詢,可以幫我們定位伺服器效能問題。1,錯誤日誌 錯誤日誌 記錄啟動 執行或停止時出現...
MySQL日誌管理
mysql日誌主要包含 錯誤日誌 一般查詢日誌 慢查詢日誌 二進位制日誌 中繼日誌 事務日誌。1.錯誤日誌 錯誤日誌大概記錄以下幾個方面的資訊 伺服器啟動和關閉過程中的資訊 未必是錯誤資訊,如mysql如何啟動innodb的表空間檔案的 如 何初始化自己的儲存引擎的等等 伺服器執行過程中的錯誤資訊 ...
MySQL 日誌管理
在 mysql 中,有 4 種不同的日誌,分別是錯誤日誌 二進位制日誌 查詢日誌和慢查詢日誌。錯誤日誌記錄了 mysql 啟動和停止時以及伺服器在執行過程中發生嚴重錯誤時的相關資訊。mysql show variables like log error variable name value log...