zlk管理mysql日誌 Mysql日誌管理

2021-10-17 17:23:26 字數 2853 閱讀 6975

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...