首頁  >  文章  >  資料庫  >  MySQL錯誤日誌與通用查詢實例分析

MySQL錯誤日誌與通用查詢實例分析

WBOY
WBOY轉載
2023-05-27 15:31:18929瀏覽

MySQL日誌檔案系統的組成

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

   b、通用日誌:記錄已建立的用戶端連線和執行的語句。

   c、更新日誌:記錄變更資料的語句。此日誌在MySQL 5.1中已不再使用。

   d、二進位日誌:記錄所有變更資料的語句。也用於複製。

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

   f、Innodb日誌:innodb redo log

啟動錯誤日誌

  • 在不同情況下,錯誤日誌會記錄在不同的位置。如果未在設定檔中指定檔名,則該檔案的預設名稱是主機名.err。

  • 在MySQL5.6的RPM發布方式中,錯誤日誌預設會被放置在/var/log/mysqld.log。

  • 可以透過my.cnf檔案進行設定:

 [mysqld_safe]
 log-error=/var/log/mysqld.log

使用vi /etc/my.cnf開啟設定檔

MySQL錯誤日誌與通用查詢實例分析

#Note:修改參數檔後重新啟動MySQl服務才能讓修改生效。

查看錯誤日誌

MySQL的錯誤日誌是以文字形式儲存的。可以使用各種文字相關指令直接查看。

perror指令可用來查詢錯誤代碼的意義。例如:

perror 1006

使用tail -n 15 /var/log/mysqld.log查看錯誤日誌

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

debug、info、note、warning、error、critical

MySQL錯誤日誌與通用查詢實例分析

#刪除錯誤日誌

錯誤日誌可能會持續的成長。因此有必要周期性的維護。

建議的刪除方法:

#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

MySQL錯誤日誌與通用查詢實例分析

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錯誤日誌與通用查詢實例分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除