天天看點

mysql 常見日志類型

mysql常見的日志類型有5種:

錯誤日志、二進制日志、查詢日志、慢查日志、中繼日志

1.錯誤日志:

錯誤日志包含4類資訊:

(1).伺服器啟動和關閉程序過程中的資訊;

(2).伺服器運作過程中的錯誤資訊;

(3).事件排程器運作一個事件時産生的資訊;

(4).在從伺服器上啟動從伺服器程序時産生的資訊。

在mysql中如何檢視錯誤日志的存放路徑呢?

首先進入mysql

# mysql -uroot -p123456

mysql> SHOW VARIABLES LIKE '%err%';

那警告資訊是否也寫在了錯誤日志呢?

首先先檢視一下警告資訊的狀态:

mysql> SHOW VARIABLES LIKE 'log%';

如果結果中是“log_warnings“的值為1的話,則說明把警告資訊也寫到了錯

誤日志中;否則為0,則沒寫到錯誤日志中。

2.二進制日志

二進制日志有兩種功能:

(1).做即時點恢複(基于時間點恢複的)

(2).複制(将主伺服器發生的任何改變複制到從伺服器上,保證資料一緻)

二進制日志存儲的資訊是每一個明确或潛在的有可能使資料庫中的資料發生改

變的SQL語句。

那怎麼檢視是否開啟了二進制日志呢?使用下面的指令:

mysql> SHOW VARIABLES LIKE '%bin%';

如果結果中“log_bin”的值為“ON”的話,則開啟了二進制日志;為“OFF”

則沒有開啟二進制日志。

那要檢視都有哪些二進制日志怎麼檢視呢?

mysql> SHOW BINARY LOGS;

說明:由于二進制日志檔案不是單獨的一個,而是多個,是以此時你看到的結

果可能不止一個。要想看目前資料庫正在使用的二進制日志檔案是哪一個,用

下面的指令:

mysql> SHOW MASTER STATUS;

二進制日志有三種格式:

(1).基于語句的   記錄的是SQL語句

(2).基于行的     記錄的是SQL語句執行的結果

(3).混合的

mysql> SHOW BINLOG EVENTS IN 'binlog_name' FROM 107; 檢視二進制日志

從某個位置發生改變的情況

說明:由于二進制日志的檔案不是文本檔案,是以一般的檢視指令并不能檢視

二進制日志檔案内容,要想檢視二進制日志檔案内容,就需要一個特殊的指令

:mysqlbinlog

# mysqlbinlog  專門檢視二進制日志檔案的内容

          --start-position   起始位置

   --stop-position    結束位置

   --start-datetime   起始時間

   --stop-datetime    結束時間

例:# mysqlbinlog --start-position=‘107’ mysql-bin.00002

例:# mysqlbinlog --start-position=‘107’ --stop-position=‘381’

mysql-bin.00002

例:# mysqlbinlog --start-datetime=‘2012-04-08 10:00:00’ --stop-

datetime=‘2012-04-08 20:00:01’ mysql-bin.00002

3.查詢日志

檢視查詢日志狀态的:

mysql> SHOW VARIABLES LIKE 'general_log';

如果結果中的“general_log”的值為“ON“,則是開啟了查詢日志;如果為

”OFF“,則沒有開啟查詢日志

指定查詢日志的路徑:隻要在general_log_file=  後面寫上路徑即可。

4.慢查日志

檢視慢查日志狀态看狀态是否開啟

mysql> SHOW VARIABLES LIKE 'SLOW%';

如果"slow_query_log"的值為”ON“,則說明開啟了慢查詢日志;如果

為”OFF“,則是 沒有開啟慢查詢日志

說明:其中查詢日志和慢查日志都可記錄到表裡或檔案裡,也可以二者都有記

5.中繼日志

要是在mysql伺服器的中從架構中的從伺服器上用到的,當從伺服器想要和主

伺服器進行資料的同步時,從伺服器将主伺服器的二進制日志檔案拷貝到己的

主機上放在中繼日志中,然後調用SQL線程按照拷中繼日志檔案中的二進制日

繼續閱讀