Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
EPUB - 7.5Mb
HTML Download (TGZ) - 7.2Mb
HTML Download (Zip) - 7.2Mb


18.3.2.1 MySQL Cluster 構成の基本的な例

MySQL Cluster をサポートするには、次の例に示すように my.cnf を更新する必要があります。これらのパラメータを実行可能ファイルの起動時にコマンド行に指定することもできます。

注記

ここに示すオプションを、config.ini グローバル構成ファイルで使用されるものと混同しないようにしてください。グローバル構成オプションについては、このセクションで後述します。

# my.cnf
# example additions to my.cnf for MySQL Cluster
# (valid in MySQL 5.6)

# enable ndbcluster storage engine, and provide connection string for
# management server host (default port is 1186)
[mysqld]
ndbcluster
ndb-connectstring=ndb_mgmd.mysql.com


# provide connection string for management server host (default port: 1186)
[ndbd]
connect-string=ndb_mgmd.mysql.com

# provide connection string for management server host (default port: 1186)
[ndb_mgm]
connect-string=ndb_mgmd.mysql.com

# provide location of cluster configuration file
[ndb_mgmd]
config-file=/etc/config.ini

(接続文字列の詳細は、セクション18.3.2.3「MySQL Cluster の接続文字列」を参照してください。)

# my.cnf
# example additions to my.cnf for MySQL Cluster
# (will work on all versions)

# enable ndbcluster storage engine, and provide connection string for management
# server host to the default port 1186
[mysqld]
ndbcluster
ndb-connectstring=ndb_mgmd.mysql.com:1186
重要

前に示したように、my.cnf ファイルの [mysqld]NDBCLUSTER および ndb-connectstring パラメータを指定して mysqld プロセスを起動したあとは、クラスタを実際に起動しないと、CREATE TABLE または ALTER TABLE ステートメントを実行できません。そうでない場合、これらのステートメントはエラーで失敗します。これは意図的なものです

クラスタの my.cnf ファイルでは、すべての実行可能ファイルによって読み取られ、使用される設定で別個の [mysql_cluster] セクションを使用することもできます。

# cluster-specific settings
[mysql_cluster]
ndb-connectstring=ndb_mgmd.mysql.com:1186

my.cnf ファイルに設定できる追加の NDB 変数については、セクション18.3.4.3「MySQL Cluster のシステム変数」を参照してください。

MySQL Cluster のグローバル構成ファイルには、慣例で config.ini という名前が付けられています (ただし、これは必須ではありません)。これは、必要に応じて ndb_mgmd が起動時に読み取るため、読み取りが可能な任意の場所に配置できます。構成の場所と名前は、コマンド行の ndb_mgmd--config-file=path_name を使用して指定します。このオプションにデフォルト値はなく、ndb_mgmd で構成キャッシュを使用する場合、このオプションは無視されます。

MySQL Cluster のグローバル構成では、複数のセクションからなる INI 形式が使用されます。各セクションの先頭には (角括弧で囲まれた) セクション見出しが付き、そのあとに適切なパラメータ名と値が続きます。標準の INI 形式との違いの 1 つは、パラメータ名と値を等号 (=) だけでなくコロン (:) で区切ることもできることです (ただし、等号が推奨されます)。もう 1 つの違いは、セクションがセクション名で一意に識別されないことです。代わりに、一意のセクション (同じタイプの 2 つの異なるノードなど) はセクション内のパラメータとして指定された一意の ID で識別されます。

デフォルト値は、ほとんどのパラメータに定義されており、config.ini で指定することもできます。デフォルト値のセクションを作成するには、セクション名に default という単語を追加します。たとえば、[ndbd] セクションには特定のデータノードに適用されるパラメータが含まれていますが、[ndbd default] セクションにはすべてのデータノードに適用されるパラメータが含まれています。すべてのデータノードが同じデータメモリーサイズを使用するとします。これらすべてを構成するには、データメモリーサイズを指定する DataMemory 行を含む [ndbd default] セクションを作成します。

注記

MySQL Cluster の一部の古いリリースでは、NoOfReplicas のデフォルト値が存在しないため、常に [ndbd default] セクションに明示的にその値を指定する必要がありました。現在、このパラメータのデフォルト値はほとんどの一般的な使用シナリオでの推奨設定である 2 になっていますが、今後もこのパラメータを明示的に設定することが推奨されます。

グローバル構成ファイルでは、クラスタに関与するコンピュータとノード、およびノードをどのコンピュータに配置するかを定義する必要があります。1 つの管理サーバー、2 つのデータノード、および 2 つの MySQL サーバーで構成されるクラスタ用の簡単な構成ファイルの例をここに示します。

# file "config.ini" - 2 data nodes and 2 SQL nodes
# This file is placed in the startup directory of ndb_mgmd (the
# management server)
# The first MySQL Server can be started from any host. The second
# can be started only on the host mysqld_5.mysql.com

[ndbd default]
NoOfReplicas= 2
DataDir= /var/lib/mysql-cluster

[ndb_mgmd]
Hostname= ndb_mgmd.mysql.com
DataDir= /var/lib/mysql-cluster

[ndbd]
HostName= ndbd_2.mysql.com

[ndbd]
HostName= ndbd_3.mysql.com

[mysqld]
[mysqld]
HostName= mysqld_5.mysql.com
注記

前の例は、MySQL Cluster に習熟するために必要な最小限の初期構成であり、本番環境の設定としては不十分です。完全な初期構成例については、セクション18.3.2.2「MySQL Cluster の推奨される初期構成」を参照してください。

config.ini ファイルには、各ノードに固有のセクションがあります。たとえば、このクラスタには 2 つのデータノードがあるため、前に示した構成ファイルにはこれらのノードを定義する 2 つの [ndbd] セクションがあります。

注記

config.ini ファイルでは、セクション見出しと同じ行にコメントを配置しないでください。これを行うと、管理サーバーはこのような構成ファイルを解析できないため、起動しなくなります。

config.ini ファイルのセクション

次のリストで説明するように、config.ini 構成ファイルでは 6 つの異なるセクションを使用できます。

セクションごとに default 値を定義できます。my.cnf または my.ini ファイルに指定されるパラメータと異なり、すべてのクラスタパラメータ名は大文字と小文字を区別しません。


User Comments
  Posted by Hossam Eid on February 1, 2011
Its not recommended to add hostnames its better to use static ip addresses
  Posted by xiaoma sdf on May 20, 2012
如果使用主机名,应该在每个节点的/etc/hosts中加入IP 对应主机名,如:(这样反而繁琐,还不如直接使用静态IP)
192.168.0.1 ndb_mgmd.mysql.com
192.168.0.2 ndbd_2.mysql.com
192.168.0.3 ndbd_3.mysql.com
192.168.0.4 mysqld_5.mysql.com

Sign Up Login You must be logged in to post a comment.