如下函數可以檢查和配置複製組使用的組複製通訊協議版本。html
● group_replication_get_communication_protocol()mysql
檢查組當前使用的組複製通訊協議版本。sql
語法:服務器
1. STRING group_replication_get_communication_protocol()
此函數沒有參數。ide
返回值:函數
能夠加入此組並使用組的通訊協議的最低MySQL服務器版本。從 MySQL 5.7.14 版本開始容許消息壓縮,從 MySQL 8.0.16 版本也容許消息碎片化。請注意,group_replication_get_communication_protocol() UDF 返回組支持的最低 MySQL 版本,這可能與傳遞給 group_replication_set_communication_protocol() UDF 的版本號以及安裝在使用該 UDF 的成員上的 MySQL 服務器版本不一樣。code
若是因爲此服務器實例不屬於複製組而沒法檢查協議,則將以字符串形式返回錯誤。htm
示例:字符串
1. SELECT group_replication_get_communication_protocol(); 2. +------------------------------------------------+ 3. | group_replication_get_communication_protocol() | 4. +------------------------------------------------+ 5. | 8.0.16 | 6. +------------------------------------------------+
● group_replication_set_communication_protocol()get
降級組的組複製通訊協議版本,以便早期版本的成員能夠加入,或者在升級全部成員上的 MySQL Server 以後升級組的組複製通訊協議版本。使用此 UDF 須要 GROUP_REPLICATION_ADMIN 權限,而且在執行語句時,全部現有組成員都必須聯機。
注意
對於 MySQL InnoDB 集羣,只要使用 AdminAPI 操做改變集羣拓撲,通訊協議版本就會自動管理。對於 InnoDB 集羣,沒必要本身使用這些 UDF。
語法:
1. STRING group_replication_set_communication_protocol(version)
參數:
■ version:對於降級,請指定潛在組成員具備的 MySQL 服務器最低安裝版本。在這種狀況下,若是可能,該命令會使組退回到與該服務器版本兼容的通訊協議。能夠指定的最低服務器版本是 MySQL 5.7.14。對於升級,請指定現有組成員已升級到的新 MySQL 服務器版本。
返回值:
包含操做結果的字符串,例如操做是否成功。
示例:
1. SELECT group_replication_set_communication_protocol("5.7.25");
官方網址:
https://dev.mysql.com/doc/refman/8.0/en/group-replication-functions-for-communication-protocol.html