次の機能を使用すると、レプリケーショングループで使用されるグループレプリケーション通信プロトコルのバージョンを検査および構成できます。
-
group_replication_get_communication_protocol()
グループで現在使用されている Group Replication 通信プロトコルのバージョンを調べます。
構文:
STRING group_replication_get_communication_protocol()
この関数にはパラメータがありません。
戻り値:
このグループに参加し、グループ通信プロトコルを使用できる最も古い MySQL Server バージョン。 MySQL 5.7.14 のバージョンではメッセージを圧縮でき、MySQL 8.0.16 のバージョンではメッセージを断片化することもできます。
group_replication_get_communication_protocol()
UDF は、グループがサポートする MySQL の最小バージョンを返します。これは、group_replication_set_communication_protocol()
UDF に渡されたバージョン番号、および UDF を使用するメンバーにインストールされている MySQL Server バージョンとは異なる場合があります。このサーバーインスタンスがレプリケーショングループに属していないためにプロトコルを検査できない場合は、文字列としてエラーが返されます。
例:
SELECT group_replication_get_communication_protocol(); +------------------------------------------------+ | group_replication_get_communication_protocol() | +------------------------------------------------+ | 8.0.16 | +------------------------------------------------+
詳細は、セクション18.4.1.4「グループ通信プロトコルバージョンの設定」を参照してください。
-
group_replication_set_communication_protocol()
グループの Group Replication 通信プロトコルバージョンをダウングレードして、以前のリリースのメンバーがグループに参加できるようにするか、すべてのメンバーで MySQL Server をアップグレードした後に Group Replication 通信プロトコルバージョンをアップグレードします。 この UDF を使用するには
GROUP_REPLICATION_ADMIN
権限が必要です。また、ステートメントを発行するときは、大部分を失うことなく、既存のすべてのグループメンバーがオンラインである必要があります。注記MySQL InnoDB クラスタの場合、AdminAPI 操作を使用してクラスタトポロジが変更されるたびに、通信プロトコルバージョンが自動的に管理されます。 InnoDB クラスタに対してこれらの UDF を自分で使用する必要はありません。
構文:
STRING group_replication_set_communication_protocol(version)
引数:
version
: ダウングレードの場合は、インストールされているサーバーバージョンが最も古い見込みグループメンバーの MySQL Server バージョンを指定します。 この場合、可能であれば、このコマンドによってグループはそのサーバーバージョンと互換性のある通信プロトコルにフォールバックされます。 指定できるサーバーの最小バージョンは MySQL 5.7.14 です。 アップグレードの場合は、既存のグループメンバーがアップグレードされた新しい MySQL Server バージョンを指定します。
戻り値:
成功したかどうかなど、操作の結果を含む文字列。
例:
SELECT group_replication_set_communication_protocol("5.7.25");
詳細は、セクション18.4.1.4「グループ通信プロトコルバージョンの設定」を参照してください。