MySQL主執行緒、從I/O執行緒和從SQL執行緒的State列常見狀態介紹

chenfeng發表於2017-03-28
複製主執行緒狀態
下面列出了主伺服器的Binlog Dump執行緒的State列的最常見的狀態。如果你沒有在主伺服器上看見任何Binlog Dump執行緒,這說明覆制沒有在執行—即,目前沒有連線任何從伺服器。
·         Sending binlog event to slave


二進位制日誌由各種事件組成,一個事件通常為一個更新加一些其它資訊。執行緒已經從二進位制日誌讀取了一個事件並且正將它傳送到從伺服器。

·         Finished reading one binlog; switching to next binlog


執行緒已經讀完二進位制日誌檔案並且正開啟下一個要傳送到從伺服器的日誌檔案。

·         Has sent all binlog to slave; waiting for binlog to be updated


執行緒已經從二進位制日誌讀取所有主要的更新並已經傳送到了從伺服器。執行緒現在正空閒,等待由主伺服器上新的更新導致的出現在二進位制日誌中的新事件。

·         Waiting to finalize termination


執行緒停止時發生的一個很簡單的狀態。


複製從I/O執行緒狀態
下面列出了從伺服器的I/O執行緒的State列的最常見的狀態。該狀態也出現在Slave_IO_State列,由SHOW SLAVE STATUS顯示。這說明你可以只透過該語句仔細瀏覽所發生的事情。
·         Connecting to master


執行緒正試圖連線主伺服器。

·         Checking master version


建立同主伺服器之間的連線後立即臨時出現的狀態。

·         Registering slave on master


建立同主伺服器之間的連線後立即臨時出現的狀態。

·         Requesting binlog dump


建立同主伺服器之間的連線後立即臨時出現的狀態。執行緒向主伺服器傳送一條請求,索取從請求的二進位制日誌檔名和位置開始的二進位制日誌的內容。

·         Waiting to reconnect after a failed binlog dump request


如果二進位制日誌轉儲請求失敗(由於沒有連線),執行緒進入睡眠狀態,然後定期嘗試重新連線。可以使用--master-connect-retry選項指定重試之間的間隔。

·         Reconnecting after a failed binlog dump request


執行緒正嘗試重新連線主伺服器。

·         Waiting for master to send event


執行緒已經連線上主伺服器,正等待二進位制日誌事件到達。如果主伺服器正空閒,會持續較長的時間。如果等待持續slave_read_timeout秒,則發生超時。此時,執行緒認為連線被中斷並企圖重新連線。

·         Queueing master event to the relay log


執行緒已經讀取一個事件,正將它複製到中繼日誌供SQL執行緒來處理。

·         Waiting to reconnect after a failed master event read


讀取時(由於沒有連線)出現錯誤。執行緒企圖重新連線前將睡眠master-connect-retry秒。

·         Reconnecting after a failed master event read


執行緒正嘗試重新連線主伺服器。當連線重新建立後,狀態變為Waiting for master to send event。

·         Waiting for the slave SQL thread to free enough relay log space


正使用一個非零relay_log_space_limit值,中繼日誌已經增長到其組合大小超過該值。I/O執行緒正等待直到SQL執行緒處理中繼日誌內容並刪除部分中繼日誌檔案來釋放足夠的空間。

·         Waiting for slave mutex on exit


執行緒停止時發生的一個很簡單的狀態。


複製從SQL執行緒狀態
下面列出了從伺服器的SQL執行緒的State列的最常見的狀態。
·         Reading event from the relay log


執行緒已經從中繼日誌讀取一個事件,可以對事件進行處理了。

·         Has read all relay log; waiting for the slave I/O thread to update it


執行緒已經處理了中繼日誌檔案中的所有事件,現在正等待I/O執行緒將新事件寫入中繼日誌。

·         Waiting for slave mutex on exit


執行緒停止時發生的一個很簡單的狀態。

I/O執行緒的State列也可以顯示語句的文字。這說明執行緒已經從中繼日誌讀取了一個事件,從中提取了語句,並且正在執行語句。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2136177/,如需轉載,請註明出處,否則將追究法律責任。

相關文章