このセクションでは、オラクルが提供する MySQL Cluster の no-install
バイナリリリースを使用した MySQL Cluster の基本的なインストールについて説明します。ここでは、次の表に示すように、このセクションの冒頭 (セクション18.2「MySQL Cluster のインストール」を参照してください) で概説したのと同じ 4 ノードのセットアップを使用します。
ノード | IP アドレス |
---|---|
管理 (MGMD) ノード | 192.168.0.10 |
MySQL サーバー (SQL) ノード | 192.168.0.20 |
データ (NDBD) ノード "A" | 192.168.0.30 |
データ (NDBD) ノード "B" | 192.168.0.40 |
ほかのプラットフォームと同様に、SQL ノードを実行する MySQL Cluster ホストコンピュータには MySQL Server バイナリ (mysqld.exe) をインストールする必要があります。このホストには MySQL クライアント (mysql.exe) も配置するようにしてください。管理ノードおよびデータノードに MySQL Server バイナリをインストールする必要はありません。各管理サーバーには、管理サーバーデーモン (ndb_mgmd.exe) が必要です。各データノードには、データノードデーモン (ndbd.exe または ndbmtd.exe) が必要です。この例では ndbd.exe をデータノード実行可能ファイルと呼びますが、代わりにこのプログラムのマルチスレッドバージョンである ndbmtd.exe をまったく同じ方法でインストールできます。管理サーバーホストには、管理クライアント (ndb_mgm.exe) もインストールするようにしてください。このセクションでは、MySQL Cluster ノードの各タイプに対応する適切な Windows バイナリをインストールするのに必要なステップについて説明します。
ほかの Windows プログラムと同様に、MySQL Cluster 実行可能ファイルの名前には .exe
ファイル拡張子が付けられています。ただし、コマンド行からこれらのプログラムを起動するときに .exe
拡張子を含める必要はありません。そのため、このドキュメントでは多くの場合、これらのプログラムを mysqld、mysql、ndb_mgmd などと呼びます。ここでは、(たとえば) mysqld と mysqld.exe のどちらの呼び方であっても、どちらの名前も同じもの (MySQL Server プログラム) を意味しています。
オラクルの no-install
バイナリを使用して MySQL Cluster をセットアップする場合は、インストールプロセスの最初のステップとして、https://dev.mysql.com/downloads/cluster/ から最新の MySQL Cluster Windows バイナリアーカイブをダウンロードします。このアーカイブには、mysql-cluster-gpl-noinstall-
という形式のファイル名が付けられます。ver
-winarch
.zipver
は NDB
ストレージエンジンのバージョン (7.3.1
など) であり、arch
はアーキテクチャー (32 ビットバイナリの場合は 32
、64 ビットバイナリの場合は 64
) です。たとえば、MySQL Cluster NDB 7.3.1 の 32 ビット Windows システム用 no-install
アーカイブの名前は mysql-cluster-gpl-noinstall-7.3.1-win32.zip
です。
32 ビット MySQL Cluster バイナリは Windows の 32 ビットと 64 ビットの両方のバージョンで実行できますが、64 ビット MySQL Cluster バイナリは Windows の 64 ビットバージョンでのみ使用できます。64 ビット CPU を搭載したコンピュータで Windows の 32 ビットバージョンを使用する場合は、32 ビット MySQL Cluster バイナリを使用する必要があります。
インターネットからダウンロードしたりマシン間でコピーしたりする必要があるファイルの数を最小限に抑えるため、ここでは SQL ノードを実行するコンピュータから始めます。
SQL ノード
ここでは、IP アドレスが 192.168.0.20 であるコンピュータ上の C:\Documents and Settings\
(username
\My Documents\Downloadsusername
は現在のユーザーの名前です) ディレクトリに no-install
アーカイブのコピーが配置されていると仮定します。(この名前は、コマンド行で ECHO %USERNAME%
を使用すると表示されます。)MySQL Cluster 実行可能ファイルを Windows サービスとしてインストールおよび実行するには、このユーザーが Administrators
グループのメンバーになります。
アーカイブからすべてのファイルを抽出します。このタスクには、Windows Explorer に組み込まれた抽出ウィザードが適しています。(別のアーカイブプログラムを使用する場合は、アーカイブからすべてのファイルとディレクトリが抽出されたこと、アーカイブのディレクトリ構造が維持されていることを確認してください。)出力先のディレクトリを求められたら、C:\
と入力します。抽出ウィザードによってディレクトリ C:\mysql-cluster-gpl-noinstall-
にアーカイブが抽出されます。このディレクトリの名前を ver
-winarch
C:\mysql
に変更します。
MySQL Cluster バイナリを C:\mysql\bin
以外のディレクトリにインストールすることもできますが、その場合は、この手順に示されているパスをそれに合わせて変更する必要があります。特に、MySQL Server (SQL ノード) バイナリを C:\mysql
または C:\Program Files\MySQL\MySQL Server 5.6
以外の場所にインストールした場合や、SQL ノードのデータディレクトリが C:\mysql\data
または C:\Program Files\MySQL\MySQL Server 5.6\data
以外の場所にある場合は、SQL ノードの起動時に、追加の構成オプションをコマンド行で使用するか、my.ini
または my.cnf
ファイルに追加する必要があります。標準以外の場所で実行するように MySQL Server を構成する方法の詳細は、セクション2.3.5「非インストール Zip アーカイブを使用して Microsoft Windows に MySQL をインストールする」を参照してください。
MySQL Cluster サポートを含む MySQL Server を MySQL Cluster の一部として実行するには、--ndbcluster
および --ndb-connectstring
オプションを指定して起動する必要があります。これらのオプションは、コマンド行で指定することもできますが、通常はオプションファイルに設定する方が便利です。そのためには、メモ帳などのテキストエディタで新しいテキストファイルを作成します。このファイルに次の構成情報を入力します。
[mysqld]
# Options for mysqld process:
ndbcluster # run NDB storage engine
ndb-connectstring=192.168.0.10 # location of management server
この MySQL Server が使用するほかのオプション (セクション2.3.5.2「オプションファイルの作成」を参照してください) を必要に応じて追加できますが、このファイルには少なくともここに示したオプションを含める必要があります。このファイルを C:\mysql\my.ini
として保存します。これで、SQL ノードのインストールとセットアップが完了します。
データノード
Windows ホストの MySQL Cluster データノードには、ndbd.exe または ndbmtd.exe のいずれか 1 つの実行可能ファイルのみが必要です。この例では、ndbd.exe を使用すると仮定しますが、ndbmtd.exe を使用するときも同じ手順が適用されます。データノードを実行する各コンピュータ (IP アドレスが 192.168.0.30 および 192.168.0.40 のコンピュータ) で、C:\mysql
、C:\mysql\bin
、および C:\mysql\cluster-data
の各ディレクトリを作成します。次に、no-install
アーカイブをダウンロードして抽出したコンピュータで、C:\mysql\bin
ディレクトリ内の ndbd.exe
を見つけます。このファイルを 2 台のデータノードホストの C:\mysql\bin
ディレクトリにそれぞれコピーします。
データノードを MySQL Cluster の一部として機能させるには、各ノードに対して管理サーバーのアドレスまたはホスト名を指定する必要があります。この情報を指定するには、各データノードプロセスの起動時にコマンド行で --ndb-connectstring
または -c
オプションを使用します。ただし、通常はオプションファイルにこの情報を指定することをお勧めします。そのためには、メモ帳などのテキストエディタで新しいテキストファイルを作成して、次のテキストを入力します。
[mysql_cluster]
# Options for data node process:
ndb-connectstring=192.168.0.10 # location of management server
このファイルをデータノードホストに C:\mysql\my.ini
として保存します。もう一方のデータノードホストで同じ内容を含むテキストファイルをもう 1 つ作成し、それを C:mysql\my.ini
として保存するか、my.ini ファイルを 1 つ目のデータノードホストから 2 つ目のデータノードホストにコピーし、そのコピーを 2 つ目のデータノードの C:\mysql
ディレクトリに確実に配置します。これで、両方のデータノードホストを MySQL Cluster で使用できるようになりました。あとは、管理ノードをインストールして構成するだけです。
管理ノード
MySQL Cluster 管理ノードのホストとして使用するコンピュータに必要な実行可能プログラムは、管理サーバープログラム ndb_mgmd.exe だけです。ただし、起動された MySQL Cluster を管理するため、管理サーバーと同じマシンに MySQL Cluster 管理クライアントプログラム ndb_mgm.exe もインストールしてください。no-install
アーカイブをダウンロードして抽出したマシンで、これら 2 つのプログラムを見つけます。これは、SQL ノードホストの C:\mysql\bin
ディレクトリになります。IP アドレスが 192.168.0.10 であるコンピュータに C:\mysql\bin
ディレクトリを作成し、両方のプログラムをこのディレクトリにコピーします。
ここで、ndb_mgmd.exe
が使用する 2 つの構成ファイルを作成してください。
-
管理ノード自体に固有の構成データを提供するローカル構成ファイル。通常、このファイルに指定する必要があるのは、MySQL Cluster グローバル構成ファイル (項目 2 を参照してください) の場所だけです。
このファイルを作成するには、メモ帳などのテキストエディタで新しいテキストファイルを作成し、次の情報を入力します。
[mysql_cluster] # Options for management node process config-file=C:/mysql/bin/config.ini
このファイルをプレーンテキストファイル
C:\mysql\bin\my.ini
として保存します。 -
管理ノードが MySQL Cluster 全体を制御する構成情報を取得できるグローバル構成ファイル。このファイルには、少なくとも MySQL Cluster 内の各ノード用のセクションと、管理ノードおよびすべてのデータノードの IP アドレスまたはホスト名 (
HostName
構成パラメータ) が含まれている必要があります。また、次の追加情報も含めることをお勧めします。SQL ノードの IP アドレスまたはホスト名
各データノードに割り当てられたデータメモリーおよびインデックスメモリー (
DataMemory
およびIndexMemory
構成パラメータ)レプリカの数 (
NoOfReplicas
構成パラメータを使用します。セクション18.1.2「MySQL Cluster のノード、ノードグループ、レプリカ、およびパーティション」を参照してください)各データノードがデータおよびログファイルを格納するディレクトリと、管理ノードがログファイルを保持するディレクトリ (どちらの場合も、
DataDir
構成パラメータ)
メモ帳などのテキストエディタを使用して新しいテキストファイルを作成し、次の情報を入力します。
[ndbd default] # Options affecting ndbd processes on all data nodes: NoOfReplicas=2 # Number of 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=192.168.0.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=192.168.0.30 # Hostname or IP address [ndbd] # Options for data node "B": HostName=192.168.0.40 # Hostname or IP address [mysqld] # SQL node options: HostName=192.168.0.20 # Hostname or IP address
このファイルをプレーンテキストファイル
C:\mysql\bin\config.ini
として保存します。
Windows 上の MySQL Cluster が使用するプログラムオプションまたは構成ファイルでは、ディレクトリパスを指定するときに単独のバックスラッシュ文字 (\
) を使用できません。代わりに、個々のバックスラッシュ文字を 2 つ目のバックスラッシュ (\\
) でエスケープするか、バックスラッシュをスラッシュ文字 (/
) に置き換えてください。たとえば、MySQL 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
簡潔さと読みやすさのため、Windows 上の MySQL Cluster プログラムのオプションや構成ファイルで使用するディレクトリパスには、スラッシュを使用することをお勧めします。