mysqld は従来の MySQL
サーバーのプロセスです。MySQL Cluster
で使用するには、mysqld は
NDB Cluster
ストレージ
エンジンのサポート付きでビルドされる必要があります。それは
http://dev.mysql.com/downloads/
からコンパイルされてバイナリで利用できます。ソースから
MySQL を構築する場合、configure を
--with-ndbcluster
オプションと一緒に起動し NDB
Cluster
ストレージ
エンジンをサポートします。
mysqld バイナリが Cluster
サポートするように構築されている場合、NDB
Cluster
ストレージ
エンジンはデフォルトはまだ無効です。このエンジンを有効にするために可能なオプションの
2 つのどちらかを使用できます。
--ndbcluster
をコマンドラインの起動オプションとして使用
mysqld を起動します。
my.cnf
ファイルの
[mysqld]
セクションの
ndbccluster
を含む行を挿入します。
お客さまのサーバーが NDB Cluster
ストレージ
エンジンが有効で稼動していることを検証するには
SHOW ENGINES
ステートメントを MySQL
Monitor (mysql)
で発行します。YES
が
Support
値として
NDBCLUSTER
の行に表示されます。この行で NO
が表示された場合あるいはそのような行が出力に表示されなかった場合、NDB
-が有効なバージョンの
MySQL
が動作していないことになります。この行に
DISABLED
が表示された場合、それを今説明した 2
つの方法のいずれかで有効にする必要があります。
クラスタお設定ファイルを読み込むには、MySQL サーバーは少なくとも 3 件の情報が必要です。
MySQL サーバー自身のクラスタ ノード ID
マネジメント サーバー (MGM ノード) のホスト名あるいは IP アドレス
マネジメント サーバーに接続する TCP/IP のポート番号
ノード ID はダイナミックに割り当てられますので、それらを明示的に指定することは必ずしも必要ありません。
mysqld パラメータ
ndb-connectstring
はコマンドラインでmysqld
を起動するときにあるいはmy.cnf
で接続文字列の指定に使用されます。接続文字列はホスト名あるいはマネジメント
サーバーがある IP およびそれが使用する TCP/IP
ポートを含みます。
以下の例では、ndb_mgmd.mysql.com
はマネジメント
サーバーが常駐するホストで、マネジメント
サーバーはポート 1186 のクラスタ
メッセージを受信します。
shell> mysqld --ndb-connectstring=ndb_mgmd.mysql.com:1186
接続文字列に関する情報は
項14.4.4.2. 「クラスタの 接続文字列
」
を参照してください。
この情報を与えられると、MySQL サーバーはクラスタの完全な参加者になります。(このように実行されている mysqld プロセスを SQL ノードとも言います。)それは完全にクラスタ ノードおよびその状態を認識しており、すべてのデータ ノードに接続を確立します。このように、データ ノードをトランザクション コーオーディネータとして使用してデータを読みデータ ノードを更新します。
mysql クライアントで MySQL
サーバーがクラスタに SHOW
PROCESSLIST
を使用して接続されているかどうか表示することができます。MySQL
サーバーがクラスタに接続されていると、お客様にはPROCESS
権限がありますので、出力の最初の行はここに表示されているようになります。
mysql> SHOW PROCESSLIST \G *************************** 1. row *************************** Id: 1 User: system user Host: db: Command: Daemon Time: 1 State: Waiting for event from ndbcluster Info: NULL