文件首頁
MySQL 9.0 參考手冊
相關文件 下載本手冊
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.2Kb
Man Pages (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


20.7.7.2 無法連線多數逾時

依預設,由於網路分割而發現自己處於少數的成員不會自動離開群組。您可以使用系統變數 group_replication_unreachable_majority_timeout 來設定成員在失去與多數群組成員的連線後等待的秒數,然後退出群組。設定逾時表示您不需要主動監控網路分割後處於少數群組中的伺服器,並且可以避免由於不適當的干預而造成腦裂情況 (具有兩個版本的群組成員資格) 的可能性。

group_replication_unreachable_majority_timeout 指定的逾時時間經過時,所有已由成員和少數群組中的其他成員處理的擱置交易都會復原,而該群組中的伺服器會移至 ERROR 狀態。您可以使用 group_replication_autorejoin_tries 系統變數,強制成員在此時嘗試自動重新加入群組。此功能依預設為啟用;成員會嘗試三次自動重新加入。如果自動重新加入程序未成功或未嘗試,則少數成員會遵循 group_replication_exit_state_action 指定的退出動作。

決定是否設定無法連線多數逾時時,請考慮下列幾點

  • 在對稱群組中,例如具有兩個或四個伺服器的群組,如果兩個分割區都包含相等數量的伺服器,則兩個群組都會認為自己處於少數,並進入 ERROR 狀態。在這種情況下,群組沒有功能性分割區。

  • 當少數群組存在時,少數群組處理的任何交易都會被接受,但會被封鎖,因為少數伺服器無法達到仲裁,直到在這些伺服器上發出 STOP GROUP_REPLICATION 或達到無法連線多數逾時。

  • 如果您未設定無法連線多數逾時,則少數群組中的伺服器永遠不會自動進入 ERROR 狀態,您必須手動停止它們。

  • 如果在偵測到失去多數後在少數群組中的伺服器上設定無法連線多數逾時,則該設定無效。

如果您未使用 group_replication_unreachable_majority_timeout 系統變數,則在發生網路分割時操作員介入的程序會在 第 20.7.8 節「處理網路分割與仲裁遺失」中說明。該程序涉及檢查哪些伺服器正常運作,並在必要時強制執行新的群組成員資格。