MySQL 8.0 リファレンスマニュアル


MySQL 8.0 リファレンスマニュアル  /  ...  /  バイナリリリースから Windows への NDB Cluster のインストール

23.2.2.1 バイナリリリースから Windows への NDB Cluster のインストール

このセクションでは、次のテーブルに示すように、このセクション (セクション23.2「NDB Cluster のインストール」 を参照) の最初に説明したものと同じ 4 ノード設定を使用して、Oracle で提供されるバイナリ no-install NDB Cluster リリースを使用した Windows への NDB Cluster の基本的なインストールについて説明します:

表 23.7 クラスタ例のノードのネットワークアドレス

ノード IP アドレス
管理ノード (mgmd) 198.51.100.10
SQL ノード (mysqld) 198.51.100.20
データノード "A" (ndbd) 198.51.100.30
データノード "B" (ndbd) 198.51.100.40

ほかのプラットフォームと同様に、SQL ノードを実行している NDB Cluster ホストコンピュータには、MySQL Server バイナリ (mysqld.exe) がインストールされている必要があります。 このホストには MySQL クライアント (mysql.exe) も配置するようにしてください。 管理ノードおよびデータノードに MySQL Server バイナリをインストールする必要はありません。各管理サーバーには、管理サーバーデーモン (ndb_mgmd.exe) が必要です。各データノードには、データノードデーモン (ndbd.exe または ndbmtd.exe) が必要です。 この例では、ndbd.exe をデータノード実行可能ファイルと呼びますが、このプログラムのマルチスレッドバージョンである ndbmtd.exe をまったく同じ方法でインストールできます。 管理サーバーホストには、管理クライアント (ndb_mgm.exe) もインストールするようにしてください。 このセクションでは、NDB Cluster ノードのタイプごとに正しい Windows バイナリをインストールするために必要な手順について説明します。

注記

ほかの Windows プログラムと同様に、NDB Cluster 実行可能ファイルには .exe ファイル拡張子が付けられます。 ただし、コマンド行からこれらのプログラムを起動するときに .exe 拡張子を含める必要はありません。 そのため、このドキュメントでは多くの場合、これらのプログラムを mysqldmysqlndb_mgmd などと呼びます。 ここでは、(たとえば) mysqldmysqld.exe のどちらの呼び方であっても、どちらの名前も同じもの (MySQL Server プログラム) を意味しています。

Oracle no-install バイナリを使用して NDB Cluster を設定する場合、インストールプロセスの最初のステップは、https://dev.mysql.com/downloads/cluster/ から最新の NDB Cluster Windows ZIP バイナリアーカイブをダウンロードすることです。 このアーカイブには mysql-cluster-gpl-ver-winarch.zip のファイル名があり、verNDB ストレージエンジンのバージョン (8.0.22 など)、arch はアーキテクチャー (32 ビットバイナリの場合は 32、64 ビットバイナリの場合は 64) です。 たとえば、64 ビット Windows システム用 NDB Cluster 8.0.22 アーカイブの名前は mysql-cluster-gpl-8.0.22-win64.zip です。

32 ビット NDB Cluster バイナリは、32 ビットバージョンと 64 ビットバージョンの両方の Windows で実行できますが、64 ビット NDB Cluster バイナリは 64 ビットバージョンの Windows でのみ使用できます。 64 ビット CPU を搭載したコンピュータで 32 ビットバージョンの Windows を使用している場合は、32 ビット NDB Cluster バイナリを使用する必要があります。

インターネットからダウンロードしたりマシン間でコピーしたりする必要があるファイルの数を最小限に抑えるため、ここでは SQL ノードを実行するコンピュータから始めます。

SQL ノード.  198.51.100.20 という IP アドレスを持つコンピュータ上のディレクトリ C:\Documents and Settings\username\My Documents\Downloads にアーカイブのコピーが配置されていることを前提としています。ここで、username は現在のユーザーの名前です。 (この名前は、コマンド行で ECHO %USERNAME% を使用すると表示されます。) NDB Cluster 実行可能ファイルを Windows サービスとしてインストールして実行するには、このユーザーが Administrators グループのメンバーである必要があります。

アーカイブからすべてのファイルを抽出します。 このタスクには、Windows Explorer に組み込まれた抽出ウィザードが適しています。 (別のアーカイブプログラムを使用する場合は、アーカイブからすべてのファイルとディレクトリが抽出されたこと、アーカイブのディレクトリ構造が維持されていることを確認してください。) 宛先ディレクトリを要求されたら、C:\と入力します。これにより、抽出ウィザードによってアーカイブが C:\mysql-cluster-gpl-ver-winarch ディレクトリに抽出されます。 このディレクトリの名前を C:\mysql に変更します。

NDB Cluster バイナリは C:\mysql\bin 以外のディレクトリにインストールできますが、インストールする場合は、この手順に示すパスを適宜変更する必要があります。 特に、MySQL Server (SQL ノード) バイナリを C:\mysql または C:\Program Files\MySQL\MySQL Server 8.0 以外の場所にインストールした場合や、SQL ノードのデータディレクトリが C:\mysql\data または C:\Program Files\MySQL\MySQL Server 8.0\data 以外の場所にある場合は、SQL ノードの起動時に、追加の構成オプションをコマンド行で使用するか、my.ini または my.cnf ファイルに追加する必要があります。 標準以外の場所で実行するように MySQL Server を構成する方法の詳細は、セクション2.3.4「noinstall ZIP アーカイブを使用した Microsoft Windows への MySQL のインストール」を参照してください。

NDB Cluster をサポートする MySQL Server を NDB Cluster の一部として実行するには、--ndbcluster および --ndb-connectstring オプションを指定して起動する必要があります。 これらのオプションは、コマンド行で指定することもできますが、通常はオプションファイルに設定する方が便利です。 そのためには、メモ帳などのテキストエディタで新しいテキストファイルを作成します。 このファイルに次の構成情報を入力します。

[mysqld]
# Options for mysqld process:
ndbcluster                       # run NDB storage engine
ndb-connectstring=198.51.100.10  # location of management server

この MySQL Server が使用するほかのオプション (セクション2.3.4.2「オプションファイルの作成」を参照してください) を必要に応じて追加できますが、このファイルには少なくともここに示したオプションを含める必要があります。 このファイルを C:\mysql\my.ini として保存します。 これで、SQL ノードのインストールとセットアップが完了します。

データノード.  Windows ホスト上の NDB Cluster データノードには、ndbd.exe または ndbmtd.exe のいずれかの単一の実行可能ファイルのみが必要です。 この例では、ndbd.exe を使用すると仮定しますが、ndbmtd.exe を使用するときも同じ手順が適用されます。 データノードを実行する各コンピュータ (IP アドレスが 198.51.100.30 および 198.51.100.40 のコンピュータ) で、C:\mysqlC:\mysql\bin、および C:\mysql\cluster-data の各ディレクトリを作成します。次に、no-install アーカイブをダウンロードして抽出したコンピュータで、C:\mysql\bin ディレクトリ内の ndbd.exe を見つけます。 このファイルを 2 台のデータノードホストの C:\mysql\bin ディレクトリにそれぞれコピーします。

NDB Cluster の一部として機能するには、各データノードに管理サーバーのアドレスまたはホスト名を指定する必要があります。 この情報を指定するには、各データノードプロセスの起動時にコマンド行で --ndb-connectstring または -c オプションを使用します。 ただし、通常はオプションファイルにこの情報を指定することをお勧めします。 そのためには、メモ帳などのテキストエディタで新しいテキストファイルを作成して、次のテキストを入力します。

[mysql_cluster]
# Options for data node process:
ndb-connectstring=198.51.100.10  # location of management server

このファイルをデータノードホストに C:\mysql\my.ini として保存します。 もう一方のデータノードホストで同じ内容を含むテキストファイルをもう 1 つ作成し、それを C:mysql\my.ini として保存するか、my.ini ファイルを 1 つ目のデータノードホストから 2 つ目のデータノードホストにコピーし、そのコピーを 2 つ目のデータノードの C:\mysql ディレクトリに確実に配置します。 両方のデータノードホストを NDB Cluster で使用する準備ができました。これにより、インストールおよび構成する管理ノードのみが残されます。

管理ノード.  NDB Cluster 管理ノードのホストに使用されるコンピュータで必要な実行可能プログラムは、管理サーバープログラム ndb_mgmd.exe だけです。 ただし、NDB Cluster を起動したあとで管理するには、NDB Cluster 管理クライアントプログラム ndb_mgm.exe も管理サーバーと同じマシンにインストールするようにしてください。 no-install アーカイブをダウンロードして抽出したマシンで、これら 2 つのプログラムを見つけます。これは、SQL ノードホストの C:\mysql\bin ディレクトリになります。 IP アドレスが 198.51.100.10 であるコンピュータに C:\mysql\bin ディレクトリを作成し、両方のプログラムをこのディレクトリにコピーします。

ここで、ndb_mgmd.exe が使用する 2 つの構成ファイルを作成してください。

  1. 管理ノード自体に固有の構成データを提供するローカル構成ファイル。 通常、このファイルは NDB Cluster グローバル構成ファイルの場所を指定するだけで済みます (項目 2 を参照)。

    このファイルを作成するには、メモ帳などのテキストエディタで新しいテキストファイルを作成し、次の情報を入力します。

    [mysql_cluster]
    # Options for management node process
    config-file=C:/mysql/bin/config.ini

    このファイルをテキストファイル C:\mysql\bin\my.ini として保存します。

  2. NDB Cluster 全体を管理する構成情報を管理ノードが取得できるグローバル構成ファイル。 少なくとも、このファイルには NDB Cluster 内の各ノードのセクションと、管理ノードおよびすべてのデータノードの IP アドレスまたはホスト名 (HostName 構成パラメータ) が含まれている必要があります。 また、次の追加情報も含めることをお勧めします。

    メモ帳などのテキストエディタを使用して新しいテキストファイルを作成し、次の情報を入力します。

    [ndbd default]
    # Options affecting ndbd processes on all data nodes:
    NoOfReplicas=2                      # Number of fragment replicas
    DataDir=C:/mysql/cluster-data       # Directory for each data node's data files
                                        # Forward slashes used in directory path,
                                        # rather than backslashes. This is correct;
                                        # see Important note in text
    DataMemory=80M    # Memory allocated to data storage
    IndexMemory=18M   # Memory allocated to index storage
                      # For DataMemory and IndexMemory, we have used the
                      # default values. Since the "world" database takes up
                      # only about 500KB, this should be more than enough for
                      # this example Cluster setup.
    
    [ndb_mgmd]
    # Management process options:
    HostName=198.51.100.10              # Hostname or IP address of management node
    DataDir=C:/mysql/bin/cluster-logs   # Directory for management node log files
    
    [ndbd]
    # Options for data node "A":
                                    # (one [ndbd] section per data node)
    HostName=198.51.100.30          # Hostname or IP address
    
    [ndbd]
    # Options for data node "B":
    HostName=198.51.100.40          # Hostname or IP address
    
    [mysqld]
    # SQL node options:
    HostName=198.51.100.20          # Hostname or IP address

    このファイルをテキストファイル C:\mysql\bin\config.ini として保存します。

重要

Windows 上の NDB Cluster で使用されるプログラムオプションまたは構成ファイルでディレクトリパスを指定する場合、単一のバックスラッシュ文字 (\) は使用できません。 代わりに、個々のバックスラッシュ文字を 2 つ目のバックスラッシュ (\\) でエスケープするか、バックスラッシュをスラッシュ文字 (/) に置き換えてください。 たとえば、NDB Cluster config.ini ファイルの[ndb_mgmd]セクションからの次の行は機能しません:

DataDir=C:\mysql\bin\cluster-logs

代わりに、次のいずれかを使用できます。

DataDir=C:\\mysql\\bin\\cluster-logs  # Escaped backslashes
DataDir=C:/mysql/bin/cluster-logs     # Forward slashes

簡潔さと読みやすさの理由から、NDB Cluster プログラムのオプションおよび Windows の構成ファイルで使用されるディレクトリパスにはスラッシュを使用することをお勧めします。


関連キーワード:  NDB, テーブル, ndbinfo, ノード, ndb, インストール, 管理, 構成, データ, ディレクトリ