目次
この章では、MySQL Group Replication と、グループをインストール、構成および監視する方法について説明します。 MySQL Group Replication を使用すると、柔軟で可用性の高いフォルトトレラントレプリケーショントポロジを作成できます。
グループは、一度に 1 つのサーバーのみが更新を受け入れる自動プライマリ選択を使用して、単一プライマリモードで動作できます。 または、グループをマルチプライマリモードでデプロイすることもできます。このモードでは、更新が同時に発行されても、すべてのサーバーが更新を受け入れることができます。
グループのビューの一貫性を保ち、任意の時点ですべてのサーバーで使用できるようにする組込みグループメンバーシップサービスがあります。 サーバーはグループから退出して参加でき、それに応じてビューが更新されます。 サーバーが予期せずにグループから離れる場合があります。その場合、障害検出メカニズムはこれを検出し、ビューが変更されたことをグループに通知します。 これはすべて自動です。
Group Replication は、データベースサービスが継続的に使用可能であることを保証します。 ただし、いずれかのグループメンバーが使用できなくなった場合、コネクタ、ロードバランサ、ルーターまたはなんらかの形式のミドルウェアを使用して、そのグループメンバーに接続されているクライアントをグループ内の別のサーバーにリダイレクトまたはフェイルオーバーする必要があることを理解することが重要です。 グループレプリケーションには、これを行う組込みの方法はありません。 たとえば、MySQL Router 8.0 を参照してください。
Group Replication は、MySQL Server へのプラグインとして提供されます。 この章の手順に従って、グループに含める各サーバーインスタンスでプラグインを構成し、グループを起動し、グループをモニターおよび管理できます。 MySQL サーバーインスタンスのグループをデプロイする別の方法は、InnoDB クラスタ を使用することです。
MySQL の複数のインスタンスをデプロイするには、MySQL Shell で MySQL サーバーインスタンスのグループを簡単に管理できるようにする InnoDB クラスタ を使用できます。InnoDB クラスタ は MySQL Group Replication をプログラム環境でラップするため、MySQL インスタンスのクラスタを簡単にデプロイして高可用性を実現できます。 また、InnoDB クラスタ は MySQL Router とシームレスにインタフェースするため、アプリケーションは独自のフェイルオーバープロセスを記述せずにクラスタに接続できます。 ただし、高可用性を必要としない同様のユースケースでは、InnoDB ReplicaSet を使用できます。 MySQL Shell のインストール手順は、here にあります。
この章の構成は次のとおりです:
セクション18.1「グループレプリケーションのバックグラウンド」 では、グループの概要とグループレプリケーションの仕組みについて説明します。
セクション18.2「はじめに」 では、複数の MySQL Server インスタンスを構成してグループを作成する方法について説明します。
セクション18.3「グループレプリケーションの監視」 では、グループをモニターする方法について説明します。
セクション18.4「グループレプリケーション操作」 では、グループの操作方法について説明します。
セクション18.5「グループレプリケーションセキュリティ」 では、グループを保護する方法について説明します。
セクション18.6「グループレプリケーションのパフォーマンス」 では、グループのパフォーマンスを微調整する方法について説明します。
セクション18.7「グループレプリケーションのアップグレード」 では、グループのアップグレード方法について説明します。
セクション18.8「グループレプリケーションシステム変数」 は、Group Replication に固有のシステム変数のリファレンスです。
セクション18.9「要件と制限事項」 では、Group Replication の技術要件および制限事項について説明します。
セクション18.10「よくある質問」 では、グループレプリケーションのデプロイおよびオペレーティングに関する技術的な質問に対する回答を提供しています。