mysql日誌 MySQL日誌設定及檢視方法詳解

2021-10-25 13:57:36 字數 3198 閱讀 1791

我們都很熟悉mysql日誌,本文主要介紹了mysql日誌設定及檢視方法,需要的朋友可以參考下,希望能幫助到大家。

mysql有以下幾種日誌:

錯誤日誌: -log-err

查詢日誌: -log

慢查詢日誌: -log-slow-queries

更新日誌: -log-update

二進位制日誌: -log-bin

預設情況下,所有日誌建立於mysqld資料目錄中。通過重新整理日誌,你可以強制 mysqld來關閉和重新開啟日誌檔案(或者在某些情況下切換到乙個新的日誌)。當你執行乙個flush logs語句或執行mysqladmin flush-logs或mysqladmin refresh時,出現日誌重新整理

1. 錯誤日誌

用--log- error[=file_name]選項來指定mysqld儲存錯誤日誌檔案的位置。如果沒有給定file_name值,mysqld使用錯誤日誌名 host_name.err 並在資料目錄中寫入日誌檔案。如果你執行flush logs,錯誤日誌用-old重新命名字尾並且mysqld建立乙個新的空日誌檔案。(如果未給出--log-error選項,則不會重新命名)。

如果不指定--log-error,或者(在windows中)如果你使用--console選項,錯誤被寫入標準錯誤輸出stderr。通常標準輸出為你的終端。

2. 通用查詢日誌

用--log[=file_name]或-l [file_name]選項啟動它。如果沒有給定file_name的值,預設名是host_name.log。

3. 慢速查詢日誌

用--log-slow-queries[=file_name]選項啟動時,mysqld 寫乙個包含所有執行時間超過long_query_time秒的sql語句的日誌檔案.如果沒有給出file_name值,預設未主機名,字尾為 -slow.log。如果給出了檔名,但不是絕對路徑名,檔案則寫入資料目錄。

3. 更新日誌

用--log-update[=file_name]選項啟動,不推薦使用.

是否啟用了日誌

mysql>show variables like 'log_%';

怎樣知道當前的日誌

mysql> show master status;

顯示二進位制日誌數目

mysql> show master logs;

看二進位制日誌檔案用mysqlbinlog

shell>mysqlbinlog mail-bin.000001

或者shell>mysqlbinlog mail-bin.000001 | tail

在配置檔案中指定log的輸出位置.

windows:windows 的配置檔案為 my.ini,一般在 mysql 的安裝目錄下或者 c:\windows 下。

linux:linux 的配置檔案為 my.cnf ,一般在 /etc 下。

在linux下:

sql**# 在[mysqld] 中輸入

#log

log-error=/usr/local/mysql/log/error.log

log=/usr/local/mysql/log/mysql.log

long_query_time=2

log-slow-queries= /usr/local/mysql/log/slowquery.log

# 在[mysqld] 中輸入 #log

log-error=/usr/local/mysql/log/error.log

log=/usr/local/mysql/log/mysql.log

long_query_time=2

log-slow-queries= /usr/local/mysql/log/slowquery.log

windows下:

sql**# 在[mysqld] 中輸入

#log

log-error="e:/progra~1/easyph~1.0b1/mysql/logs/error.log"

log="e:/progra~1/easyph~1.0b1/mysql/logs/mysql.log"

long_query_time=2

log-slow-queries= "e:/progra~1/easyph~1.0b1/mysql/logs/slowquery.log"

# 在[mysqld] 中輸入 #log

log-error="e:/progra~1/easyph~1.0b1/mysql/logs/error.log"

log="e:/progra~1/easyph~1.0b1/mysql/logs/mysql.log"

long_query_time=2

log-slow-queries= "e:/progra~1/easyph~1.0b1/mysql/logs/slowquery.log"

開啟慢查詢long_query_time =2 --是指執行超過多久的sql會被log下來,這裡是2秒

log-slow-queries= /usr/local/mysql/log/slowquery.log --將查詢返回較慢的語句進行記錄

log-queries-not-using-indexes = nouseindex.log --就是字面意思,log下來沒有使用索引的query

log=mylog.log --對所有執行語句進行記錄

windows下開啟mysql日誌:

在[mysql]下加入這些(基本上等於加在最後面):

log-error=

#enter a name for the query log file. otherwise a default name will be used.

#注:(寫成txt檔案editplus可以及時過載,不過有時要放在c盤下editplus才可以及時過載)

log= c:/mysql_query.log.txt

#enter a name for the slow query log file. otherwise a default name will be used.

log-slow-queries=

#enter a name for the update log file. otherwise a default name will be used.

log-update=

#enter a name for the binary log. otherwise a default name will be used.

log-bin=

mysql 日誌 部落格 Mysql 日誌

日誌 errlog錯誤日誌 作用記錄mysql從啟動以來,所有的狀態,警告,錯誤。dba靠此定位資料庫問題。配置預設是開啟,vim etc my.cnf log error var log mysqld.log binlog二進位制日誌 作用主要記錄資料庫變化的日誌。資料恢復,主從複製中應用 檢視再...

mysql部落格日誌 MySQL日誌

日誌檔案對於任何應用程式都是非常重要的,許多操作都需要記錄到日誌,然後可以利用日誌檔案查錯糾錯等。mysql中當然也有日誌,mysql的日誌大概分為五種,即錯誤日誌 查詢日誌 慢查詢日誌 二進位制日誌和事務日誌。檢視日誌相關的全域性變數。查詢日誌相關全域性變數 show global variabl...

mysql 日誌過期時間 mysql日誌

1.錯誤日誌是mysql中最只要的日誌,記錄了當mysqld啟動和停止時,以及伺服器在執行過程中發生任何嚴重錯誤時的相關資訊.當資料庫出現任何故障導致無法使用時,可以首先檢視此日誌 在my.cnf配置檔案中可以看出來錯誤日誌的位置 2.二進位制日誌記錄了所有的ddl 資料定義語言 語句和dml 資料...