2014-01-05 57 views
2

的二進制日誌總是看起來是這樣的:如何理解mysql binlog中的時間戳?

#140105 18:49:33 server id 2 end_log_pos 354 Query thread_id=1  exec_time=0  error_code=0 
SET TIMESTAMP=1388918973/*!*/; 
/* some SQL statement */ 
/*!*/; 

從官方網站的說明是:

在第一線,在下面的數字表示的二進制事件的開始 位置日誌文件。

第二行以日期和時間開始,指示 語句何時在發生事件的服務器上啓動。對於 複製,此時間戳會傳播到從屬服務器。服務器ID 是發生事件的服務器的server_id值。 end_log_pos表示下一個事件開始的位置(也就是當前事件結束位置+ 1)。 thread_id指示哪個線程執行了該事件。 exec_time是在主服務器上執行 事件所用的時間。在從機上,從機的執行時間結束時間爲 主機上的開始執行時間的差值。差異用作多少複製滯後於主數據的指標。 error_code指示執行 事件的結果。零意味着沒有錯誤發生。

它說「第二行與日期和時間開始」,它似乎日期時間的這個格式是從「SET時間戳」子句,其中的數量是指從秒相當1970-1-不同1,但什麼是「#140105 18:49:33」是指,那是哪天?

回答

2

140105表示YYMMDD。

01月05日(01)2014

明顯18時49分33秒爲時間