このページは機械翻訳したものです。

第 22 章 InnoDB ReplicaSet

この章では、MySQL テクノロジを組み合せて 第17章「レプリケーション のデプロイおよび管理を可能にする MySQL InnoDB ReplicaSet について説明します。 このコンテンツは、InnoDB ReplicaSet の概要です。完全なドキュメントは、MySQL InnoDB ReplicaSet を参照してください。

InnoDB ReplicaSet は、少なくとも 2 つの MySQL Server インスタンスで構成され、読取りスケールアウトやデータセキュリティなど、よく理解しているすべての MySQL レプリケーション機能を提供します。InnoDB ReplicaSet では、次の MySQL テクノロジが使用されます:

  • MySQL Shell は、MySQL の高度なクライアントおよびコードエディタです。

  • MySQL Server および 第17章「レプリケーション。これにより、MySQL インスタンスのセットで可用性および非同期読取りスケールアウトを提供できます。InnoDB ReplicaSet には、レプリケーションを操作するためのプログラム的な代替で使いやすい方法が用意されています。

  • MySQL Router:アプリケーションと InnoDB クラスタ 間の透過的なルーティングを提供する軽量ミドルウェアです。

InnoDB ReplicaSet へのインタフェースは MySQL InnoDB クラスタ に似ており、MySQL Shell を使用して MySQL Server インスタンスを ReplicaSet として操作し、MySQL Router も InnoDB クラスタ と同様に緊密に統合されています。

MySQL レプリケーションに基づいている場合、InnoDB ReplicaSet には単一のプライマリがあり、複数のセカンダリインスタンスにレプリケートされます。 InnoDB ReplicaSet では、自動フェイルオーバーやマルチプライマリモードなど、InnoDB クラスタ が提供するすべての機能が提供されるわけではありません。 ただし、インスタンスの構成、追加、削除などの機能も同様にサポートされています。 たとえば、障害が発生した場合は、セカンダリインスタンスに手動でスイッチオーバーまたはフェイルオーバーできます。 既存のレプリケーションデプロイメントを採用し、InnoDB ReplicaSet として管理することもできます。

MySQL Shell の一部として提供されている AdminAPI を使用して、InnoDB ReplicaSet を操作します。AdminAPI は JavaScript および Python で使用可能で、MySQL のスクリプト作成および自動化に適しており、高可用性およびスケーラビリティを実現します。 MySQL ShellAdminAPI を使用すると、多数のインスタンスを手動で構成する必要がなくなります。 かわりに、AdminAPI は MySQL インスタンスのセットに有効な最新のインタフェースを提供し、単一の中央ツールからデプロイメントをプロビジョニング、管理および監視できます。

InnoDB ReplicaSet を開始するには、download および install MySQL Shell が必要です。 一部のホストには、MySQL Server インスタンスがインストールされていることがが必要です。また、install MySQL Router も必要です。

InnoDB クラスタ では MySQL Clone がサポートされているため、インスタンスを簡単にプロビジョニングできます。 以前は、MySQL Replication デプロイメントに参加する前に新しいインスタンスをプロビジョニングするには、トランザクションを結合中のインスタンスに手動で転送する必要がありました。 これには、ファイルコピーの作成、手動でのコピーなどが含まれる場合があります。 レプリカセットに対して add an instance を実行するだけで、自動的にプロビジョニングされます。

同様に、InnoDB ReplicaSet は MySQL Router と緊密に統合されており、AdminAPI を使用してそれらと一緒に作業できます。MySQL Router は、bootstrapping と呼ばれるプロセスで InnoDB ReplicaSet に基づいて自身を自動的に構成できるため、ルーティングを手動で構成する必要はありません。MySQL Router はクライアントアプリケーションを InnoDB クラスタ に透過的に接続し、クライアント接続のルーティングおよびロードバランシングを提供します。 この統合により、AdminAPI を使用して、InnoDB ReplicaSet に対してブートストラップされた MySQL Router の一部の側面を管理することもできます。InnoDB ReplicaSet のステータス情報には、クラスタに対してブートストラップされた MySQL Routers の詳細が含まれます。 操作を使用すると、クラスタレベルで create MySQL Router users を実行したり、クラスタに対してブートストラップされた MySQL Routers を使用したりできます。

これらのテクノロジの詳細は、説明にリンクされているユーザードキュメントを参照してください。 このユーザードキュメントに加えて、MySQL Shell JavaScript API リファレンスまたは MySQL Shell Python API リファレンスのすべての AdminAPI メソッドの開発者ドキュメントもあり、「コネクタおよび API」から入手できます。