一.mysql日誌概述 在mysql中,有4種不同的日誌,分別是錯誤日誌,二進位日誌(binlog日誌),查詢日誌,慢查詢日誌。這此日誌記錄著資料庫在不同方面的蹤跡(區別sql server里只有errorlog日誌,並藉助了dmv來做分析)。接下來幾篇里詳細介紹這幾種日誌的作用和使用方法,利用這些 ...
一.mysql日誌概述
在mysql中,有4種不同的日誌,分別是錯誤日誌,二進位日誌(binlog日誌),查詢日誌,慢查詢日誌。這此日誌記錄著資料庫在不同方面的蹤跡(區別sql server里只有errorlog日誌,並藉助了dmv來做分析)。接下來幾篇里詳細介紹這幾種日誌的作用和使用方法,利用這些日誌做好維護和調優。
錯誤日誌是mysql中最重要的日誌之一,它記錄了當mysqld啟動和停止時,以及伺服器在運行過程中發生任何嚴重錯誤時的相關信息。當資料庫出現任何故障導致無法正常使用時,可以首先查看此日誌。
在my.cnf配置文件里可以用log-error[=file_name]參數來指定mysqld保存錯誤日誌文件的位置。如果沒有指定file_name值,mysqld使用的錯誤日誌名host_name.err(本機名.err)。
我電腦上二進位安裝的mysql,在my.cnf中配置errorlog路徑如下:
在rpm包安裝中,my.cnf中配置errorlog路徑如下:
上面二種安裝都是將mysql的log-error日誌生成在 /var/log 目錄下(是系統日誌存放的地方,只有 root 賬號有寫許可權),需要 MySQL 進程對這個目錄有讀寫許可權。在二進位安裝中有對/var/log/mariadb 賦予mysql用戶許可權。
1.1通過環境變數來查看位置
SHOW VARIABLES LIKE 'log_error'
1.2 下麵在二進位安裝環境下,嘗試下日誌許可權
先停掉服務,將錯誤日誌文件刪除
用root用戶重啟服務,提示只能用mysql用戶創建該文件,使用su切換到mysql,再啟動服務成功
如下啟動成功,錯誤日誌文件產生
查看錯誤日誌如下:
二 錯誤日誌歸檔備份(有問題,以後在瞭解)
錯誤日誌如果不清理或刪除,那麼它會一直增長(在sqlserver里會自動保留前6個errorlog日誌,不必重啟服務)。 在mysql 5.7之後,只能通過下麵方式來歸檔,備份錯誤日誌。
下麵的錯誤日誌信息已達到26 M,如下所示:
-- 歸檔如下:
在第二步將所有日誌刷新到磁碟上時,輸入密碼會卡死無響應(以後在查其原因)。 上面是將錯誤日誌備份為logbak文件後, 重啟系統和服務將產生新的mysqld.log日誌