以下清單顯示在複本伺服器上複製 I/O(接收器)執行緒的 State
欄中看到的最常見狀態。此狀態也會出現在 SHOW REPLICA STATUS
顯示的 Replica_IO_State
欄中,因此您可以使用該陳述式來取得發生情況的良好檢視。
在 MySQL 8.0 中,對檢測名稱進行了不相容的變更。使用這些檢測名稱的監控工具可能會受到影響。如果這些不相容的變更對您有影響,請將 terminology_use_previous
系統變數設定為 BEFORE_8_0_26
,以使 MySQL 伺服器針對先前清單中指定的物件使用舊版本的名稱。這可讓依賴舊名稱的監控工具繼續運作,直到它們可以更新以使用新名稱為止。
設定具有工作階段範圍的 terminology_use_previous
系統變數以支援個別函式,或設定全域範圍以作為所有新工作階段的預設值。使用全域範圍時,慢查詢記錄會包含舊版本的名稱。
連線到來源後,會非常短暫地出現的狀態。
執行緒正在嘗試連線到來源。
執行緒已讀取事件,並將其複製到中繼記錄檔,以便 SQL 執行緒可以處理它。
執行緒正在嘗試重新連線到來源。
執行緒正在嘗試重新連線至來源。當連線再次建立時,狀態會變成
Waiting for master to send event
。這是連線至來源建立後,非常短暫出現的狀態。
這是連線至來源建立後,非常短暫出現的狀態。執行緒會向來源傳送要求,要求提供其二進位日誌的內容,從要求的二進位日誌檔案名稱和位置開始。
Waiting for its turn to commit
當啟用
replica_preserve_commit_order
時,若副本執行緒正在等待較舊的工作執行緒提交,就會出現這種狀態。Waiting for master to send event
Waiting for source to send event
執行緒已連線至來源,並正在等待二進位日誌事件到達。如果來源閒置,這可能會持續很長時間。如果等待時間持續
replica_net_timeout
秒,就會發生逾時。在這種情況下,執行緒會認為連線已中斷,並嘗試重新連線。這是
Connecting to master
或Connecting to source
之前的初始狀態。Waiting for slave mutex on exit
Waiting for replica mutex on exit
這是執行緒停止時短暫出現的狀態。
Waiting for the slave SQL thread to free enough relay log space
Waiting for the replica SQL thread to free enough relay log space
您正在使用非零的
relay_log_space_limit
值,而且中繼日誌已變得非常大,以致其組合大小超過此值。I/O (接收器) 執行緒正在等待 SQL (套用程式) 執行緒透過處理中繼日誌內容釋出足夠的空間,以便它可以刪除一些中繼日誌檔案。Waiting to reconnect after a failed binlog dump request
如果二進位日誌傾印請求失敗 (由於連線中斷),執行緒會進入此狀態並休眠,然後定期嘗試重新連線。可以使用
CHANGE REPLICATION SOURCE TO
指定重試之間的間隔。Waiting to reconnect after a failed master event read
Waiting to reconnect after a failed source event read
讀取時發生錯誤 (由於連線中斷)。執行緒會休眠
CHANGE REPLICATION SOURCE TO
陳述式設定的秒數,然後再嘗試重新連線。