このページは機械翻訳したものです。
NDB Cluster
をサポートするには、次の例に示すように
my.cnf
を更新するようにしてください。
これらのパラメータを実行可能ファイルの起動時にコマンド行に指定することもできます。
ここに示すオプションを、config.ini
グローバル構成ファイルで使用されるものと混同しないようにしてください。
グローバル構成オプションについては、このセクションで後述します。
# my.cnf
# example additions to my.cnf for NDB Cluster
# (valid in MySQL 8.0)
# 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
(接続文字列の詳細は、セクション23.3.3.3「NDB Cluster 接続文字列」を参照してください。)
# my.cnf
# example additions to my.cnf for NDB Cluster
# (works 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
変数については、セクション23.3.3.9.2「NDB Cluster システム変数」を参照してください。
NDB Cluster
のグローバル構成ファイルは、config.ini
という命名規則に従っています
(ただし、これは必須ではありません)。
これは、必要に応じて ndb_mgmd
が起動時に読み取るため、読み取りが可能な任意の場所に配置できます。
構成の場所と名前は、コマンド行の
ndb_mgmd で
--config-file=
を使用して指定します。
このオプションにデフォルト値はなく、ndb_mgmd
で構成キャッシュを使用する場合、このオプションは無視されます。
path_name
NDB Cluster のグローバル構成ファイルは INI
形式を使用します。INI
形式は、セクション見出し
(角括弧で囲まれた部分)
のあとに適切なパラメータ名と値が続くセクションで構成されます。
標準 INI 形式との相違点の 1
つは、パラメータ名と値をコロン
(:
) と等号 (=
)
で区切ることができることですが、等号をお薦めします。
もう 1
つの違いは、セクションがセクション名で一意に識別されないことです。
代わりに、一意のセクション (同じタイプの 2
つの異なるノードなど)
はセクション内のパラメータとして指定された一意の
ID で識別されます。
デフォルト値は、ほとんどのパラメータに定義されており、config.ini
で指定することもできます。
デフォルト値のセクションを作成するには、セクション名に
default
という単語を追加します。
たとえば、[ndbd]
セクションには特定のデータノードに適用されるパラメータが含まれていますが、[ndbd
default]
セクションにはすべてのデータノードに適用されるパラメータが含まれています。
すべてのデータノードが同じデータメモリーサイズを使用するとします。
これらすべてを構成するには、データメモリーサイズを指定する
DataMemory
行を含む
[ndbd default]
セクションを作成します。
使用する場合は、構成ファイルの[ndbd]
セクションの前に[ndbd
default]
セクションを配置する必要があります。
これは、他のタイプの default
セクションにも当てはまります。
NDB 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
前述の例は NDB Cluster に慣れるための最小限の開始構成として意図されており、本番設定では十分ではありません。 完全な初期構成例については、セクション23.3.3.2「NDB Cluster の推奨開始構成」を参照してください。
config.ini
ファイルには、各ノードに固有のセクションがあります。
たとえば、このクラスタには 2
つのデータノードがあるため、前に示した構成ファイルにはこれらのノードを定義する
2 つの [ndbd]
セクションがあります。
config.ini
ファイルでは、セクション見出しと同じ行にコメントを配置しないでください。これを行うと、管理サーバーはこのような構成ファイルを解析できないため、起動しなくなります。
config.ini ファイルのセクション
次のリストで説明するように、config.ini
構成ファイルでは 6
つの異なるセクションを使用できます。
[computer]
: クラスタホストを定義します。 これは、実行可能な NDB Cluster を構成するために必要ではありませんが、大きなクラスタを設定するときに便利に使用できます。 詳細は、セクション23.3.3.4「NDB Cluster でのコンピュータの定義」を参照してください。[ndbd]
: クラスタデータノード (ndbd プロセス) を定義します。 詳細は、セクション23.3.3.6「NDB Cluster データノードの定義」,を参照してください。[mysqld]
: クラスタの MySQL サーバーノード (SQL ノードや API ノードとも呼ばれる) を定義します。 SQL ノードの構成については、セクション23.3.3.7「NDB Cluster での SQL およびその他の API ノードの定義」を参照してください。[mgm]
または[ndb_mgmd]
: クラスタの管理サーバー (MGM) ノードを定義します。 管理ノードの構成については、セクション23.3.3.5「NDB Cluster 管理サーバーの定義」を参照してください。[tcp]
: TCP/IP がデフォルトのトランスポートプロトコルであるクラスタノード間の TCP/IP 接続を定義します。 通常、NDB Cluster はこれを自動的に処理するため、[tcp]
または[tcp default]
セクションを設定する必要はありませんが、状況によっては、クラスタによって提供されるデフォルトをオーバーライドする必要があります。 使用可能な TCP/IP 構成パラメータと使用方法については、セクション23.3.3.10「NDB Cluster TCP/IP 接続」を参照してください。 (場合によっては、セクション23.3.3.11「直接接続を使用した NDB Cluster TCP/IP 接続」も参考になる可能性があります。)[shm]
: ノード間の共有メモリー接続を定義します。 これは、MySQL 8.0 ではデフォルトで有効になっていますが、まだ実験的なものだと考えるようにしてください。 SHM 相互接続については、セクション23.3.3.12「NDB Cluster の共有メモリー接続」を参照してください。[sci]
: クラスタデータノード間のスケーラブルコヒーラントインタフェース接続を定義します。 NDB 8.0 ではサポートされていません。
セクションごとに default
値を定義できます。
使用する場合、default
セクションはそのタイプの他のセクションの前に配置する必要があります。
たとえば、[ndbd
default]
セクションは、構成ファイルの[ndbd]
セクションの前に表示される必要があります。
NDB Cluster パラメータ名は、MySQL Server
my.cnf
または
my.ini
ファイルで指定されていないかぎり、大文字と小文字が区別されません。