序章

MySQL Cluster分散データベースは、MySQLデータベース管理システムに高可用性とスループットを提供します。 MySQLクラスターは、クラスターの構成を格納し、クラスターデータが格納されるデータノード(ndbd)を制御する1つ以上の管理ノード(ndb_mgmd)で構成されます。 管理ノードと通信した後、クライアント(MySQLクライアント、サーバー、またはネイティブAPI)はこれらのデータノードに直接接続します。

MySQL Clusterでは、通常、データのレプリケーションはありませんが、代わりにデータノードの同期があります。 この目的のために、特別なデータエンジンを使用する必要があります— NDBCluster(NDB)。 クラスタを、冗長コンポーネントを備えた単一の論理MySQL環境と考えると便利です。 したがって、MySQLクラスターは他のMySQLクラスターとのレプリケーションに参加できます。

MySQL Clusterは、シェアードナッシング環境で最適に機能します。 理想的には、2つのコンポーネントが同じハードウェアを共有しないようにする必要があります。 簡単にするために、デモンストレーションの目的で、3台のサーバーのみを使用するように制限します。 2台のサーバーをデータノードとして設定し、サーバー間でデータを同期します。 3番目のサーバーは、クラスターマネージャーとMySQLサーバー/クライアントに使用されます。 追加のサーバーを起動すると、クラスターにデータノードを追加し、クラスターマネージャーをMySQLサーバー/クライアントから切り離し、さらに多くのサーバーをクラスターマネージャーおよびMySQLサーバー/クライアントとして構成できます。

前提条件

このチュートリアルを完了するには、合計3台のサーバーが必要です。冗長MySQLデータノード用に2台のサーバー(ndbd)、クラスターマネージャー用に1台のサーバー(ndb_mgmd)とMySQLサーバー/クライアント(mysqldおよびmysql)。

同じDigitalOceanデータセンターで、プライベートネットワークを有効にしたで次のドロップレットを作成します。

  • プライベートネットワークが有効になっている3つのUbuntu18.04ドロップレット
  • ドロップレットごとにsudo権限が設定されているroot以外のユーザー。 これを行う方法は、 Ubuntu18.04を使用したサーバーの初期設定で学ぶことができます。

3つのドロップレットのprivateIPアドレスを必ず書き留めてください。 このチュートリアルでは、クラスターノードに次のプライベートIPアドレスがあります。

  • 198.51.100.0が最初のMySQLクラスターデータノードになります
  • 198.51.100.1は2番目のデータノードになります
  • 198.51.100.2ClusterManagerとMySQLサーバーノードになります

ドロップレットを起動し、root以外のユーザーを構成し、3つのノードのIPアドレスを書き留めたら、このチュートリアルを開始する準備が整います。

ステップ1—クラスタマネージャのインストールと設定

まず、MySQL Cluster Managerndb_mgmdをダウンロードしてインストールします。

クラスタマネージャをインストールするには、最初に、公式のMySQLクラスタダウンロードページから適切な.debインストーラファイルをフェッチする必要があります。

このページの[オペレーティングシステムの選択]で、 UbuntuLinuxを選択します。 次に、 OSバージョンの選択で、 Ubuntu Linux 18.04(x86、64ビット)を選択します。

DEBパッケージ、NDB管理サーバーが表示されるまで下にスクロールし、ダウンロード