performance_schema.replication_group_members
テーブルは、グループのメンバーである様々なサーバーインスタンスのステータスの監視に使用されます。 新しいメンバーが結合されたときにグループの構成が動的に変更された場合など、ビューが変更されるたびにテーブルの情報が更新されます。 その時点で、サーバーはメタデータの一部を交換して同期し、連携を続行します。 この情報は、レプリケーショングループのメンバーであるすべてのサーバーインスタンス間で共有されるため、すべてのグループメンバーに関する情報を任意のメンバーからクエリーすることができます。 このテーブルを使用して、レプリケーショングループの状態の高レベルビューを取得できます。たとえば、次のように発行します:
SELECT * FROM performance_schema.replication_group_members;
+---------------------------+--------------------------------------+--------------+-------------+--------------+-------------+----------------+
| CHANNEL_NAME | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE | MEMBER_ROLE | MEMBER_VERSION |
+---------------------------+--------------------------------------+--------------+-------------+--------------+-------------+----------------+
| group_replication_applier | 041f26d8-f3f3-11e8-adff-080027337932 | example1 | 3306 | ONLINE | SECONDARY | 8.0.13 |
| group_replication_applier | f60a3e10-f3f2-11e8-8258-080027337932 | example2 | 3306 | ONLINE | PRIMARY | 8.0.13 |
| group_replication_applier | fc890014-f3f2-11e8-a9fd-080027337932 | example3 | 3306 | ONLINE | SECONDARY | 8.0.13 |
+---------------------------+--------------------------------------+--------------+-------------+--------------+-------------+----------------+
この結果に基づいて、グループが 3 つのメンバー、クライアントがメンバーへの接続に使用する各メンバーホストとポート番号、およびメンバーの server_uuid
で構成されていることがわかります。 MEMBER_STATE
カラムには セクション18.3.1「グループレプリケーションサーバーの状態」 のいずれかが表示されます。この場合、このグループの 3 つのメンバーはすべて ONLINE
であり、MEMBER_ROLE
カラムにはセカンダリが 2 つあり、プライマリが 1 つであることが示されています。 したがって、このグループはシングルプライマリモードで実行されている必要があります。 MEMBER_VERSION
カラムは、グループをアップグレードし、異なる MySQL バージョンを実行しているメンバーを結合する場合に役立ちます。 詳しくはセクション18.3.1「グループレプリケーションサーバーの状態」をご覧ください。
Member_host
の値と分散リカバリプロセスへの影響の詳細は、セクション18.2.1.3「分散リカバリのユーザー資格証明」 を参照してください。