mysql常見的日志類型有五種:錯誤日志、二進制日志、查詢日志、慢查日志和中繼日志。
一、錯誤日志
錯誤日志包含四類信息:
(1) 服務器啟動和關閉進程過程中的信息;
(2) 服務器運行過程中的錯誤信息;
(3) 事件調度器運行一個事件時產生的信息;
(4) 在從服務器上啟動從服務器進程時產生的信息。
在mysql中查看錯誤日志的存放路徑:
代碼如下 復制代碼# mysql -u root -p 123456
mysql> SHOW VARIABLES LIKE '%err%';
查看警告信息的狀態:
mysql> SHOW VARIABLES LIKE 'log%';
如果結果中“log_warnings“的值為1,說明警告信息也寫到了錯誤日志中;為0,則說明沒寫到錯誤日志中。
My.ini配置信息:
代碼如下 復制代碼 #Enter a name for the error log file. Otherwise a default name will be used.二、二進制日志
二進制日志有兩種功能:
(1) 做即時點恢復(基於時間點恢復的)
(2) 復制(將主服務器發生的任何改變復制到從服務器上保證數據一致)
二進制日志存儲的信息是每一個明確或潛在的有可能使數據庫中的數據發生改變的SQL語句。
查看是否開啟二進制日志:
代碼如下 復制代碼 mysql> SHOW VARIABLES LIKE '%bin%';如果結果中“log_bin”的值為“ON”則開啟了二進制日志;為“OFF”則沒有開啟二進制日志。
查看有哪些二進制日志:
說明:由於二進制日志文件不是單獨的一個,而是多個,所以此時你看到的結果可能不止一個。要想看當前數據庫正在使用的二進制日志文件是哪一個,用下面命令:
代碼如下 復制代碼 mysql> SHOW MASTER STATUS;二進制日志有三種格式:基於語句的,記錄的是SQL語句;基於行的,記錄的是SQL語句執行的結果;混合的。
代碼如下 復制代碼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
My.ini配置信息:
#Enter a name for the binary log. Otherwise a default name will be used.
#log-bin=d:/mysql_log_bin
三、查詢日志
查看查詢日志狀態:
代碼如下 復制代碼 mysql> SHOW VARIABLES LIKE 'general_log';如果結果中的“general_log”的值為“ON“,則是開啟了查詢日志;如果為”OFF“,則沒有開啟查詢日志。
指定查詢日志的路徑:只要在general_log_file= 後面寫上路徑即可。
My.ini配置信息:
代碼如下 復制代碼 #Enter a name for the query log file. Otherwise a default name will be used.四、慢查日志
查看慢查日志狀態看狀態是否開啟
代碼如下 復制代碼 mysql> SHOW VARIABLES LIKE 'SLOW%';如果"slow_query_log"的值為”ON“,則開啟了慢查詢日志;如果為”OFF“,則沒有開啟慢查詢日志
說明:其中查詢日志和慢查日志都可記錄到表裡或文件裡,也可以二者都有記錄。
My.ini配置信息:
代碼如下 復制代碼 #Enter a name for the query log file. Otherwise a default name will be used.
五、中繼日志
在mysql服務器中從架構中的從服務器上用到的,當從服務器想要和主服務器進行數據的同步時,從服務器將主服務器的二進制日志文件拷貝到己的主機上放在中繼日志中,然後調用SQL線程按照拷中繼日志文件中的二進制日志文件執行以便就可達到數據的同步。
開啟的方法:(只在從服務器上開啟)
配置mysql的主配置文件:
relay-log= 指定中繼日志的位置和名字
relay-log-index= 指定中繼日志的名字的索引文件的位置和名字
My.ini配置信息:
代碼如下 復制代碼 #Enter a name for the update log file. Otherwise a default name will be used.