下列函數可讓您檢視和設定複製群組所使用的群組複製通訊協定版本。
group_replication_get_communication_protocol()
檢視目前群組使用的群組複製通訊協定版本。
語法
STRING group_replication_get_communication_protocol()
此函數沒有參數。
傳回值
可加入此群組並使用群組通訊協定的最舊 MySQL 伺服器版本。請注意,
group_replication_get_communication_protocol()
函數會傳回群組支援的最低 MySQL 版本,這可能與傳遞給group_replication_set_communication_protocol()
的版本號碼,以及與您使用此函數的成員上安裝的 MySQL 伺服器版本不同。如果由於此伺服器執行個體不屬於複製群組而無法檢視通訊協定,則會以字串形式傳回錯誤。
範例
SELECT group_replication_get_communication_protocol(); +------------------------------------------------+ | group_replication_get_communication_protocol() | +------------------------------------------------+ | 8.4.0 | +------------------------------------------------+
如需詳細資訊,請參閱第 20.5.1.4 節,「設定群組的通訊協定版本」。
group_replication_set_communication_protocol()
降級群組的群組複製通訊協定版本,使較早版本的成員可以加入,或在升級所有成員上的 MySQL 伺服器後,升級群組的群組複製通訊協定版本。需要使用
GROUP_REPLICATION_ADMIN
權限才能使用此函數,而且當您發出陳述式時,所有現有群組成員都必須在線上,且不能失去大多數。注意對於 MySQL InnoDB 叢集,當使用 AdminAPI 操作變更叢集拓撲時,通訊協定版本會自動管理。對於 InnoDB 叢集,您不必自行使用這些函數。
語法
STRING group_replication_set_communication_protocol(version)
引數
version
:對於降級,請指定具有最舊已安裝伺服器版本的預期群組成員的 MySQL 伺服器版本。在這種情況下,如果可能,此命令會讓群組回退到與該伺服器版本相容的通訊協定。您可以指定的最低伺服器版本是 MySQL 5.7.14。對於升級,請指定現有群組成員已升級到的新 MySQL 伺服器版本。
傳回值
包含操作結果的字串,例如是否成功。
範例
SELECT group_replication_set_communication_protocol("5.7.25");
如需詳細資訊,請參閱第 20.5.1.4 節,「設定群組的通訊協定版本」。