首頁 > 軟體

MySQL錯誤紀錄檔與通用查詢紀錄檔圖文詳析

2022-02-22 13:02:36

MySQL紀錄檔檔案系統的組成

   a、錯誤紀錄檔:記錄啟動、執行或停止mysqld時出現的問題。

   b、通用紀錄檔:記錄建立的使用者端連線和執行的語句。

   c、更新紀錄檔:記錄更改資料的語句。該紀錄檔在MySQL 5.1中已不再使用。

   d、二進位制紀錄檔:記錄所有更改資料的語句。還用於複製。

   e、慢查詢紀錄檔:記錄所有執行時間超過long_query_time秒的所有查詢或不使用索引的查詢。

   f、Innodb紀錄檔:innodb redo log

啟動錯誤紀錄檔

  • 在不同情況下,錯誤紀錄檔會記錄在不同的位置。如果沒有在組態檔中指定檔名,則檔名預設為hostname.err。
  • 在MySQL5.6的RPM釋出方式中,錯誤紀錄檔預設被放置在/var/log/mysqld.log。
  • 可以通過my.cnf檔案進行設定:
 [mysqld_safe]
 log-error=/var/log/mysqld.log

使用vi /etc/my.cnf開啟組態檔

Note:修改引數檔案後重啟MySQl服務才能使修改生效。

檢視錯誤紀錄檔

MySQL的錯誤紀錄檔是以文字形式儲存的。可以使用各種文字相關命令直接檢視。

perror命令可用於查詢錯誤程式碼的含義。例如:

perror 1006

使用tail -n 15 /var/log/mysqld.log檢視錯誤紀錄檔

需要關注紀錄檔產生的時間和級別,通常紀錄檔級別分為以下幾種:

debug、info、note、warning、error、critical

刪除錯誤紀錄檔

錯誤紀錄檔可能會不斷的增長。因此有必要週期性的維護。

推薦的刪除方法:

#echo > /var/log/mysqld.log

通用查詢紀錄檔

記錄MySQL執行過的查詢

開啟通用查詢紀錄檔

MySQL的通用查詢紀錄檔預設情況下是不開啟的。

當需要進行取樣分析時手工開啟。

建議使用方法1,因為並不需要持久化的設定,而且修改組態檔需要重啟MySQL服務

開啟方法1:SET GLOBAL general_log=1;
關閉:SET GLOBAL general_log=0;
開啟方法2:編輯組態檔 /etc/my.cnf
[mysqld]
general-log-file[=path/[filename]]
general-log=1

Note:如果沒有指定通用查詢紀錄檔檔案儲存的位置和檔名時,預設放在MySQl資料檔案目錄中即/var/lib/mysql,檔名為主機名.log。

刪除通用查詢紀錄檔

通用查詢紀錄檔可能會不斷的增長。通常是做取樣分析時才開啟。不用的通用查詢紀錄檔要記得刪除。

推薦的刪除方法:

#set global general_log=0;刪除前先關閉
#rm -rf /var/lib/mysql/hostname.log

通用查詢紀錄檔的備份 

在Linux或Unix中,你可以通過下面的命令重新命名檔案

並建立一個新檔案:

   shell> mv hostname.log hostname-old.log
   shell> mysqladmin flush-logs
   shell> cp hostname-old.log to-backup-directory
   shell> rm hostname-old.log

在Windows中,伺服器開啟紀錄檔檔案期間不能重新命名紀錄檔檔案。必須先停止伺服器然後重新命名紀錄檔檔案。然後重啟伺服器來建立新紀錄檔檔案。

總結

到此這篇關於MySQL錯誤紀錄檔與通用查詢紀錄檔的文章就介紹到這了,更多相關MySQL錯誤紀錄檔與通用查詢紀錄檔內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com