mysql開啟通用日誌 MySQL開啟通用查詢日誌

2021-10-17 12:44:51 字數 1231 閱讀 3429

這種日誌就是用來記錄在mysql上執行過的sql語句,包括ddl和dml以及特殊命令如set,而不僅僅是select語句。因為select可能非常頻繁,因此通用查詢日誌預設是沒有開啟的,一般在需要取樣分析的時候才會開啟並且要及時的關閉。開啟通用查詢日誌不僅浪費儲存空間,還會由於頻繁的io而影響系統效能。

例如要分析哪些查詢最耗時,對哪些表或哪些列的查詢比較頻繁就需要通過通用查詢日誌來分析。

1.開啟通用查詢日誌

有兩種方法來開啟通用查詢日誌,一種是在登入mysql後執行命令,另一種是在my.cnf中配置。

(1)執行命令開啟: set global general_log=1;   //=0就是關閉通用查詢日誌。

此時在預設在mysql的data目錄中生成了localhost.log檔案,該檔案就是通用查詢日誌檔案。

(2)my.cnf中配置的方式,在my.cnf檔案的[mysqld]下面任意一行增加或修改配置:

general_log-file[=path/[filename]]   //可見=後面都是可選的,即有預設的儲存日誌的檔案

general_log=1     //表示開啟通用查詢日誌

推薦使用第一種方式開啟或關閉通用查詢日誌,因為my.cnf的修改要生效需要重啟mysql服務,並且這種通用查詢日誌的開啟不需要一直開啟而是短時間開啟就需要關閉,所以在   my.cnf關閉時又要重啟mysql服務。

如果沒有指定通用查詢日誌檔案的位置(general_log-file),包括set命令開啟的,缺省會放在資料檔案所在目錄中,以主機名.log命名,例如:/var/lib/mysql/localhost.log

2.通用查詢日誌檔案的內容

例如登入mysql後執行了select語句,那麼就是將該語句實時的記錄到通用查詢日誌中,例如:

包括對mysql執行的一些特殊命令,例如set命令都會記錄下來

3.刪除查詢日誌

查詢日誌由於sql語句會非常頻繁的執行,因此使用完畢後要即使關閉並刪除不需要的查詢日誌,例如:

set global  general_log=0;

rm -f  /var/lib/mysql/localhost.log

刪除日誌檔案之前需要先關閉通用查詢日誌,然後才能刪除,否則可能會引起mysql的錯誤。如果是配置到了my.cnf檔案中,那麼需要先取消配置並重啟mysql服務,然後才可以刪除日誌檔案。

Mysql開啟日誌

原文 http hi.baidu.com jackli00 blog item 21b2e242025bfa1473f05d24.html mysql開啟日誌 2008 11 18 11 23 是否啟用了日誌 mysql show variables like log bin 怎樣知道當前的日誌 m...

開啟MySQL日誌

mysql資料庫在安裝時預設是不開啟日誌功能的,需要手動開啟。1.登陸mysql,輸入以下 檢視是否已經開啟日誌功能 mysql show variables like log bin 顯示如下,表示未開啟 在 mysqld 下方新增如下 server id 1918 log bin mysql b...

MySQL 通用查詢日誌

mysql中的日誌包括 錯誤日誌 二進位制日誌 通用查詢日誌 慢查詢日誌等等。這裡主要介紹下比較常用的兩個功能 通用查詢日誌和慢查詢日誌。1 通用查詢日誌 記錄建立的客戶端連線和執行的語句。2 慢查詢日誌 記錄所有執行時間超過long query time秒的所有查詢或者不使用索引的查詢 1 通用查...