Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 27.1Mb
PDF (A4) - 27.2Mb
HTML Download (TGZ) - 7.2Mb
HTML Download (Zip) - 7.2Mb


18.3.4.2 MySQL Cluster 用の MySQL Server オプション

このセクションでは、MySQL Cluster に関連する mysqld サーバーオプションについて説明します。MySQL Cluster に固有でない mysqld オプション、および mysqld でのオプションの使用に関する一般的な情報については、セクション5.1.3「サーバーコマンドオプション」を参照してください。

その他の MySQL Cluster プロセス (ndbdndb_mgmd、および ndb_mgm) で使用されるコマンド行オプションについては、セクション18.4.27「MySQL Cluster プログラムに共通するオプション — MySQL Cluster プログラムに共通するオプション」を参照してください。NDB のユーティリティープログラム (ndb_descndb_size.plndb_show_tables など) で使用されるコマンド行オプションについては、セクション18.4「MySQL Cluster プログラム」を参照してください。

  • --ndb-batch-size=#

    表 18.10  ndb-batch-size の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb-batch-size

    はい はい いいえ
    はい グローバル いいえ
    NDB 7.3 数値 32768 / 0 - 31536000

    説明: NDB トランザクションバッチで使用するサイズ (バイト単位)


    これは、NDB のトランザクションバッチで使用されるサイズ (バイト単位) を設定します。

  • --ndb-cluster-connection-pool=#

    表 18.11  ndb-cluster-connection-pool の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb-cluster-connection-pool

    はい はい はい
    はい グローバル いいえ
    NDB 7.3 数値 1 / 1 - 63

    説明: MySQL によって使用されるクラスタへの接続の数


    このオプションを 1 (デフォルト) より大きい値に設定すると、mysqld プロセスはクラスタに対して複数の接続を使用し、実質的に複数の SQL ノードを模倣します。各接続には、クラスタ構成 (config.ini) ファイル内に固有の [api] または [mysqld] セクションを必要とし、クラスタでサポートされる API 接続の最大数を参照してカウントされます。

    2 台のクラスタホストコンピュータがあり、実行している各 SQL ノードの mysqld プロセスが --ndb-cluster-connection-pool=4 を指定して起動されたとします。これは、これらの接続に使用できる API スロットがクラスタに (2 個ではなく) 8 個存在する必要があることを意味します。これらすべての接続は、SQL ノードがクラスタに接続したときに設定され、ラウンドロビン方式でスレッドに割り当てられます。

    このオプションは、複数の CPU、複数のコア、またはその両方を搭載したホストマシンで mysqld を実行する場合にのみ有効です。最良の結果を得るには、この値をホストマシンで使用できるコアの合計数より小さくします。これより大きい値に設定すると、パフォーマンスが大幅に低下する可能性があります。

    重要

    接続プールを使用する各 SQL ノードは複数の API ノードスロットを占有する (各スロットにはクラスタ内で固有のノード ID がある) ため、接続プールを採用する mysqld プロセスを起動するときは、クラスタ接続文字列の一部としてノード ID を使用しないでください。

    --ndb-cluster-connection-pool を使用する際に接続文字列にノード ID を設定すると、SQL ノードのクラスタへの接続試行時に、ノード ID の割り当てエラーが発生します。

  • --ndb-blob-read-batch-bytes=bytes

    表 18.12  ndb-blob-read-batch-bytes の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb-blob-read-batch-bytes

    はい はい いいえ
    はい 両方 はい
    NDB 7.3 数値 65536 / 0 - 4294967295

    説明: 大規模な BLOB 読み取りがバッチ化されるサイズをバイト単位で指定します。0 = 制限なし。


    このオプションを使用すると、MySQL Cluster アプリケーションで BLOB データ読み取りのバッチ化のサイズ (バイト単位) を設定できます。現在のトランザクション内で読み取られる BLOB データの量がこのバッチサイズを超えると、保留中のすべての BLOB 読み取り操作がただちに実行されます。

    このオプションの最大値は 4294967295 です。デフォルトは 65536 です。0 に設定すると、BLOB 読み取りのバッチ化を無効にします。

    注記

    NDB API アプリケーションでは、setMaxPendingBlobReadBytes() および getMaxPendingBlobReadBytes() メソッドを使用すると BLOB 書き込みのバッチ化を制御できます。

  • --ndb-blob-write-batch-bytes=bytes

    表 18.13  ndb-blob-write-batch-bytes の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb-blob-write-batch-bytes

    はい はい いいえ
    はい 両方 はい
    NDB 7.3 数値 65536 / 0 - 4294967295

    説明: 大規模な BLOB 書き込みがバッチ化されるサイズをバイト単位で指定します。0 = 制限なし。


    このオプションを使用すると、MySQL Cluster アプリケーションで BLOB データ書き込みのバッチ化のサイズ (バイト単位) を設定できます。現在のトランザクション内で書き込まれる BLOB データの量がこのバッチサイズを超えると、保留中のすべての BLOB 書き込み操作がただちに実行されます。

    このオプションの最大値は 4294967295 です。デフォルトは 65536 です。0 に設定すると、BLOB 書き込みのバッチ化を無効にします。

    注記

    NDB API アプリケーションでは、setMaxPendingBlobWriteBytes() および getMaxPendingBlobWriteBytes() メソッドを使用すると BLOB 書き込みのバッチ化を制御できます。

  • --ndb-connectstring=connect_string

    表 18.14  ndb-connectstring の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb-connectstring

    はい いいえ いいえ
    はい いいえ
    NDB 7.3 文字列

    説明: クラスタ構成を配布する管理サーバーへのポイント


    このオプションは、NDBCLUSTER ストレージエンジンの使用時に、クラスタ構成データを配信する管理サーバーを指定します。構文については、セクション18.3.2.3「MySQL Cluster の接続文字列」を参照してください。

  • --ndb-deferred-constraints=[0|1]

    表 18.15  ndb-deferred-constraints の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb-deferred-constraints

    はい はい いいえ
    はい 両方 はい
    NDB 7.3 整数 0 / 0 - 1

    説明: 一意のインデックスに関する制約チェック (サポートされている場合) を、コミット時まで遅延させることを指定します。通常は必要なく、使用されません。テストの目的にのみ使用されます。


    一意のインデックスに対する制約チェックがサポートされている場合に、チェックをコミット時まで遅延するかどうかを制御します。0 がデフォルトです。

    このオプションは、MySQL Cluster または MySQL Cluster レプリケーションの動作には通常不要であり、主にテストでの使用を目的としています。

  • --ndb-distribution=[KEYHASH|LINHASH]

    表 18.16  ndb-distribution の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb-distribution

    はい はい いいえ
    はい グローバル はい
    NDB 7.3 列挙 KEYHASH / LINHASH, KEYHASH

    説明: NDBCLUSTER の新しいテーブルのデフォルトの配布 (KEYHASH または LINHASH、デフォルトは KEYHASH)


    NDB テーブルのデフォルトの分配方法を制御します。KEYHASH (キーハッシュ) または LINHASH (線形ハッシュ) のいずれかに設定できます。KEYHASH がデフォルトです。

  • --ndb-mgmd-host=host[:port]

    表 18.17  ndb-mgmd-host の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb-mgmd-host

    はい いいえ いいえ
    はい いいえ
    NDB 7.3 文字列 localhost:1186

    説明: 管理サーバーに接続するためのホスト (およびポート (必要な場合)) を設定します


    プログラムに接続される単一の管理サーバーのホストとポート番号の設定に使用できます。プログラムの接続情報として複数の管理サーバーのノード ID または参照 (あるいはその両方) が必要な場合は、代わりに --ndb-connectstring オプションを使用します。

  • --ndbcluster

    表 18.18  ndbcluster の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndbcluster

    はい いいえ いいえ
    はい いいえ
    NDB 7.3 ブール FALSE

    説明: NDB Cluster を有効化 (このバージョンの MySQL がサポートしている場合)

    --skip-ndbcluster によって無効になります


    MySQL Cluster を使用するには、NDBCLUSTER ストレージエンジンが必要です。mysqld バイナリに NDBCLUSTER ストレージエンジンのサポートが含まれている場合、このエンジンはデフォルトで無効になっています。これを有効にするには、--ndbcluster オプションを使用します。エンジンを明示的に無効にするには、--skip-ndbcluster を使用します。

  • --ndb-log-apply-status

    表 18.19  ndb-log-apply-status の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb-log-apply-status

    はい はい いいえ
    はい グローバル いいえ
    NDB 7.3 ブール OFF

    説明: スレーブとして機能している MySQL サーバーが、直接のマスターから受信した mysql.ndb_apply_status の更新を、自身のサーバー ID を使用して自身のバイナリログに記録するようになります。サーバーが --ndbcluster オプションで起動された場合にのみ有効です。


    スレーブの mysqld が、マスターのサーバー ID ではなく自身のサーバー ID を使用して、そのマスターから直接受信した更新を自身のバイナリログ内の mysql.ndb_apply_status テーブルに記録するようになります。循環またはチェーンレプリケーション設定では、これによって現在の mysqld のスレーブとして構成されているすべての MySQL サーバーの mysql.ndb_apply_status テーブルに更新が反映されます。

    チェーンレプリケーションセットアップでこのオプションを使用すると、ダウンストリーム (スレーブ) クラスタがすべてのアップストリームコントリビュータ (マスター) との相対的な位置を認識できるようになります。

    循環レプリケーションセットアップでこのオプションを使用すると、循環の全体が完成するように ndb_apply_status テーブルが変更され、最終的に発信元の MySQL Cluster に反映されます。これにより、マスターとして機能するクラスタも、循環内のほかのクラスタにその変更 (エポック) が適用されたことを認識できます。

    このオプションは、MySQL サーバーが --ndbcluster オプションを使用して起動されていない場合は無効になります。

  • --ndb-log-empty-epochs=[0|1]

    表 18.20  ndb-log-empty-epochs の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb-log-empty-epochs

    はい はい いいえ
    はい グローバル はい
    NDB 7.3 ブール OFF

    説明: 有効な場合は、--log-slave-updates が有効であっても、変更がなかったエポックが ndb_apply_status および ndb_binlog_index テーブルに書き込まれるようになります。


    --log-slave-updates が有効になっていても、変更がなかったエポックが ndb_apply_status および ndb_binlog_index テーブルに書き込まれるようになります。

    このオプションはデフォルトで無効になっています。--ndb-log-empty-epochs を無効にすると、変更がなかったエポックトランザクションがバイナリログに書き込まれなくなりますが、ndb_binlog_index には空のエポックの行も書き込まれます。

    --ndb-log-empty-epochs=1 にすると ndb_binlog_index テーブルのサイズがバイナリログのサイズとは関係なく増えるため、クラスタが大部分の時間アイドル状態であると予想される場合でも、ユーザーはこのテーブルの増大を管理できるように準備してください。

  • --ndb-log-exclusive-reads=[0|1]

    表 18.21  ndb-log-exclusive-reads の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb-log-exclusive-reads

    はい はい いいえ
    はい 両方 はい
    NDB 7.3 ブール 0

    説明: 排他的ロックによる主キーの読み取りをログに記録します。読み取りの競合に基づく競合解決を許可します。


    MySQL Cluster NDB 7.4.1 以降では、このオプションを使用してサーバーを起動すると、主キーの読み取りが排他ロックで記録され、読み取りの競合に基づく MySQL Cluster レプリケーションの競合検出および解決が可能になります。ndb_log_exclusive_reads システム変数の値を 1 または 0 に設定すると、このロックを実行時に有効または無効にすることもできます。0 (ロックを無効化) がデフォルトです。

    詳細は、読み取り競合の検出と解決を参照してください。

  • --ndb-log-orig

    表 18.22  ndb-log-orig の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb-log-orig

    はい はい いいえ
    はい グローバル いいえ
    NDB 7.3 ブール OFF

    説明: 発信サーバー ID とエポックを mysql.ndb_binlog_index テーブルに記録します。


    発信元サーバーの ID とエポックを ndb_binlog_index テーブルに記録します。

    この場合、ndb_binlog_index 内には特定のエポックに対して複数の (発信元のエポックごとに 1 つの) 行が存在する可能性があります。

    詳細は、セクション18.6.4「MySQL Cluster レプリケーションスキーマとテーブル」を参照してください。

  • --ndb-log-transaction-id

    表 18.23  ndb-log-transaction-id の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb-log-transaction-id

    はい はい いいえ
    はい グローバル いいえ
    NDB 7.3 ブール OFF

    説明: NDB トランザクション ID をバイナリログに書き込みます。--log-bin-v1-events=OFF が必要です。


    スレーブの mysqld がバイナリログの各行に NDB トランザクション ID を書き込むようになります。このようなロギングでは、バイナリログのバージョン 2 のイベント形式を使用する必要があります。したがって、このオプションを使用するには --log-bin-use-v1-row-eventsFALSE に設定する必要があります。

    このオプションはメインラインの MySQL Server 5.6 ではサポートされません。NDB$EPOCH_TRANS() 関数を使用する MySQL Cluster レプリケーションの競合検出および解決を有効にする必要があります (NDB$EPOCH_TRANS()を参照してください)。

    デフォルト値は FALSE です。

    詳細は、セクション18.6.11「MySQL Cluster レプリケーションの競合解決」を参照してください。

  • --ndb-nodeid=#

    表 18.24  ndb-nodeid の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb-nodeid

    はい いいえ はい
    はい グローバル いいえ
    5.0.45 数値 / 1 - 63
    5.1.5 数値 / 1 - 255

    説明: この MySQL サーバーの MySQL Cluster ノード ID


    この MySQL サーバーの、MySQL Cluster 内でのノード ID を設定します。

    --ndb-nodeid オプションは、--ndb-connectstring で設定されたノード ID を (2 つのオプションの使用順序に関係なく) オーバーライドします。

    また、--ndb-nodeid を使用する場合は、config.ini[mysqld] または [api] セクションに一致するノード ID が存在するか、このファイルにオープンな [mysqld] または [api] セクション (つまり、NodeId または Id パラメータが指定されていないセクション) が存在する必要があります。これは、ノード ID が接続文字列の一部として指定されている場合にも当てはまります。

    ノード ID は、その指定方法に関係なく、SHOW STATUS の出力にグローバルステータス変数 Ndb_cluster_node_id の値として表示され、SHOW ENGINE NDBCLUSTER STATUS の出力の connection 行に cluster_node_id として表示されます。

    MySQL Cluster SQL ノードの ID の詳細は、セクション18.3.2.7「MySQL Cluster 内の SQL ノードおよびその他の API ノードの定義」を参照してください。

  • --ndb_optimization_delay=milliseconds

    表 18.25  ndb_optimization_delay の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb_optimization_delay

    いいえ はい いいえ
    いいえ グローバル はい
    NDB 7.3 数値 10 / 0 - 100000

    説明: NDB テーブルに対して OPTIMIZE TABLE で行のセットを処理する間に待機する時間をミリ秒で設定します。


    NDB テーブルに対する OPTIMIZE TABLE ステートメントによる行セット間で待機するミリ秒数を設定します。デフォルトは 10 です。

  • --ndb-recv-thread-activation-threshold=threshold

    表 18.26  ndb-recv-thread-activation-threshold の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb-recv-thread-activation-threshold

    はい いいえ いいえ
    はい いいえ
    5.6.10-ndb-7.3.1 数値 8 / 0 (MIN_ACTIVATION_THRESHOLD) - 16 (MAX_ACTIVATION_THRESHOLD)

    説明: 受信スレッドがクラスタ接続のポーリングを引き継ぐときのアクティブ化のしきい値 (同時にアクティブなスレッドで測定されます)


    現在アクティブなスレッドがこの数に達すると、受信スレッドがクラスタ接続のポーリングを引き継ぎます。

  • --ndb-recv-thread-cpu-mask=bitmask

    表 18.27  ndb-recv-thread-cpu-mask の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb-recv-thread-cpu-mask

    はい いいえ いいえ
    はい いいえ
    NDB 7.3 ビットマップ [空]

    説明: 受信者スレッドを特定の CPU にロックするための CPU マスク。16 進数として指定されます。詳細は、ドキュメントを参照してください。


    受信者スレッドを特定の CPU にロックする CPU マスクを設定します。これは、16 進数のビットマスクとして指定されます。たとえば、0x33 は受信者スレッドごとに 1 つの CPU を使用します。空の文字列 (受信者スレッドをロックしない) がデフォルトです。

  • ndb-transid-mysql-connection-map=state

    表 18.28  ndb-transid-mysql-connection-map の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb-transid-mysql-connection-map

    はい いいえ いいえ
    いいえ いいえ
    NDB 7.3 列挙 ON / ON、OFF、FORCE

    説明: ndb_transid_mysql_connection_map プラグインを有効または無効にします。つまり、その名前を持つ INFORMATION_SCHEMA テーブルを有効または無効にします。


    INFORMATION_SCHEMA データベースの ndb_transid_mysql_connection_map テーブルを処理するプラグインを有効または無効にします。ONOFFFORCE のいずれかの値を取ります。ON (デフォルト) では、プラグインが有効になります。OFF では、プラグインが無効になり、ndb_transid_mysql_connection_map にアクセスできなくなります。FORCE では、プラグインのロードと起動に失敗した場合に MySQL Server が起動しなくなります。

    ndb_transid_mysql_connection_map テーブルプラグインが実行されているかどうかを確認するには、SHOW PLUGINS の出力をチェックします。

  • --ndb-wait-connected=seconds

    表 18.29  ndb-wait-connected の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb-wait-connected

    はい はい いいえ
    はい グローバル いいえ
    NDB 7.3 数値 0 / 0 - 31536000
    5.1.56-ndb-7.1.16、5.1.56-ndb-7.0.27 数値 30 / 0 - 31536000

    説明: MySQL サーバーが、MySQL クライアントの接続を受け入れる前にクラスタ管理およびデータノードへの接続を待機する時間 (秒単位)。


    このオプションは、MySQL サーバーが MySQL クライアントの接続を受け入れる前に MySQL Cluster 管理およびデータノードへの接続が確立されるまで待機する時間を設定します。この時間は秒単位で指定します。デフォルト値は 30 です。

  • --ndb-wait-setup=seconds

    表 18.30  ndb-wait-setup の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb-wait-setup

    はい はい いいえ
    はい グローバル いいえ
    NDB 7.3 数値 15 / 0 - 31536000
    5.1.56-ndb-7.0.27, 5.1.56-ndb-7.1.16 数値 30 / 0 - 31536000

    説明: MySQL サーバーが NDB エンジンのセットアップの完了を待機する時間 (秒単位)。


    この変数は、MySQL サーバーが NDB ストレージエンジンのセットアップが完了されるまで待機しタイムアウトして、NDB を使用不可として扱うまでの時間を示します。この時間は秒単位で指定します。デフォルト値は 30 です。

  • --server-id-bits=#

    表 18.31  server-id-bits の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    server-id-bits

    はい はい いいえ
    はい グローバル いいえ
    NDB 7.3 数値 32 / 7 - 32

    説明: サーバーを識別するために実際に使用される server_id 内の最下位ビットの数を設定することにより、NDB API アプリケーションが最上位ビットにアプリケーションデータを格納できるようにします。server_id は 2 の「この値」乗未満である必要があります。


    このオプションは、32 ビットの server_id のうち、実際にサーバーを識別する最小有効ビットの数を示します。サーバーが実際には 32 未満のビット数で識別されることを示すことで、残りのビットの一部をほかの目的に使用できるようになります。たとえば、NDB API のイベント API を使用するアプリケーションによって生成される OperationOptions 構造体の AnyValue 内のユーザーデータを格納できます (MySQL Cluster は AnyValue を使用してサーバー ID を格納します)。

    サーバーは、レプリケーションループの検出などで server_id から有効なサーバー ID を抽出するときに、残りのビットを無視します。--server-id-bits オプションは、I/O および SQL スレッド内の server_id に基づいてイベントを無視すべきかどうかを決定するときに、サーバー ID の無関係なビットをマスクして除外するために使用されます。

    このデータは、mysqlbinlog によってバイナリログから読み取ることができます (それ自体の --server-id-bits オプションを 32 (デフォルト) に設定して実行することが条件になります)。

    server_id の値は、2 ^ server_id_bits 未満である必要があります。それ以外の場合、mysqld により起動が拒否されます。

    このシステム変数は MySQL Cluster でのみサポートされます。標準の MySQL 5.6 Server ではサポートされません。

  • --skip-ndbcluster

    表 18.32  skip-ndbcluster の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    skip-ndbcluster

    はい いいえ いいえ
    はい いいえ

    説明: NDB Cluster ストレージエンジンを無効化


    NDBCLUSTER ストレージエンジンを無効にします。これは、NDBCLUSTER ストレージエンジンのサポート付きでビルドされたバイナリのデフォルトです。サーバーは、--ndbcluster オプションが明示的に指定された場合にのみ、このストレージエンジン用にメモリーおよびその他のリソースを割り当てます。例については、セクション18.3.1「MySQL Cluster の簡易テストセットアップ」を参照してください。


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