group_replication_autorejoin_tries
系統變數會讓遭到驅逐或達到無法連線多數逾時的成員嘗試自動重新加入群組。預設值 (3) 表示成員會自動嘗試重新加入群組 3 次,每次嘗試間隔 5 分鐘。
當未啟用自動重新加入時,成員會在恢復通訊後立即接受驅逐,並繼續執行 group_replication_exit_state_action
系統變數指定的動作。在此之後,需要手動介入才能將成員帶回群組。如果您可以容忍陳舊讀取的可能性,並想要盡量減少手動介入的需求,則使用自動重新加入功能是合適的,尤其是在暫時性網路問題相當頻繁導致成員遭到驅逐的情況下。
使用自動重新加入時,當成員的驅逐或無法連線多數逾時達到時,它會嘗試重新加入 (使用目前的外掛程式選項值),然後繼續進行更多自動重新加入嘗試,直到達到指定的嘗試次數為止。在自動重新加入嘗試失敗後,成員會在下次嘗試前等待 5 分鐘。自動重新加入嘗試和它們之間的時間稱為自動重新加入程序。如果指定的嘗試次數已耗盡,而成員仍未重新加入或停止,則成員會繼續執行 group_replication_exit_state_action
系統變數指定的動作。
在自動重新加入嘗試期間和之間,成員會保持在超級唯讀模式,並在其複寫群組檢視中顯示 ERROR
狀態。在此期間,成員不會接受寫入。不過,仍然可以在成員上進行讀取,隨著時間的推移,陳舊讀取的可能性會增加。如果您確實想要在自動重新加入程序期間介入以將成員離線,可以使用 STOP GROUP_REPLICATION
陳述式或關閉伺服器,隨時手動停止成員。如果您無法容忍任何時間的陳舊讀取的可能性,請將 group_replication_autorejoin_tries
系統變數設定為 0。
您可以使用效能結構描述監控自動重新加入程序。當正在執行自動重新加入程序時,效能結構描述表格 events_stages_current
會顯示事件 「正在進行自動重新加入程序」,其中包含此程序執行個體期間已嘗試的重試次數 (在 WORK_COMPLETED
欄位中)。events_stages_summary_global_by_event_name
表格會顯示伺服器執行個體啟動自動重新加入程序的次數 (在 COUNT_STAR
欄位中)。events_stages_history_long
表格會顯示每次這些自動重新加入程序完成的時間 (在 TIMER_END
欄位中)。當成員正在重新加入複寫群組時,在群組完成相容性檢查並接受其作為成員之前,其狀態可能會顯示為 OFFLINE
或 ERROR
。當成員正在趕上群組的交易時,其狀態為 RECOVERING
。