このセクションでは、MySQL Cluster および NDB
ストレージエンジンに固有の MySQL サーバーシステム変数について詳しく説明します。MySQL Cluster に固有でないシステム変数については、セクション5.1.4「サーバーシステム変数」を参照してください。システム変数の使用に関する一般情報は、セクション5.1.5「システム変数の使用」を参照してください。
-
表 18.33 have_ndbcluster の型と値の情報
コマンド行 システム変数 ステータス変数 オプションファイル スコープ 動的 開始バージョン 型 デフォルト、範囲 メモ いいえ はい いいえ いいえ グローバル いいえ NDB 7.3 ブール 説明: mysqld が NDB Cluster テーブルをサポートするかどうか (--ndbcluster オプションで設定されます)。
mysqld が
NDBCLUSTER
テーブルをサポートする場合はYES
。--skip-ndbcluster
が使用されている場合はDISABLED
。この変数は非推奨であり、MySQL 5.6 で削除されています。代わりに
SHOW ENGINES
を使用してください。 -
表 18.34 ndb_autoincrement_prefetch_sz の型と値の情報
コマンド行 システム変数 ステータス変数 オプションファイル スコープ 動的 開始バージョン 型 デフォルト、範囲 メモ はい はい いいえ はい 両方 はい NDB 7.3 数値 32 / 1 - 256 5.0.56 数値 1 / 1 - 256 5.1.1 数値 32 / 1 - 256 5.1.23 数値 1 / 1 - 256 5.1.16-ndb-6.2.0 数値 32 / 1 - 256 5.1.23-ndb-6.2.10 数値 1 / 1 - 256 5.1.19-ndb-6.3.0 数値 32 / 1 - 256 5.1.23-ndb-6.3.7 数値 1 / 1 - 256 5.1.41-ndb-6.3.31 数値 1 / 1 - 65536 5.1.30-ndb-6.4.0 数値 32 / 1 - 256 5.1.41-ndb-7.0.11 数値 1 / 1 - 65536 5.5.15-ndb-7.2.1 数値 1 / 1 - 65536 説明: NDB 自動インクリメント値のプリフェッチサイズ
自動インクリメントカラムのギャップの可能性を指定します。これを最小化するには、
1
に設定します。最適化するために大きな値に設定すると、挿入は高速になりますが、一連の挿入に連続した自動インクリメント番号が使用される可能性は減ります。最小およびデフォルト値は 1 です。ndb_autoincrement_prefetch_sz
の最大値は 65536 です。この変数は、ステートメント間でフェッチされる
AUTO_INCREMENT
ID の数にのみ影響します。特定のステートメント内では、一度に少なくとも 32 個の ID が取得されます。デフォルト値は 1 です。重要この変数は、
INSERT ... SELECT
を使用して実行される挿入には影響しません。 -
表 18.35 ndb_cache_check_time の型と値の情報
コマンド行 システム変数 ステータス変数 オプションファイル スコープ 動的 開始バージョン 型 デフォルト、範囲 メモ はい はい いいえ はい グローバル はい NDB 7.3 数値 0 / - 説明: MySQL クエリーキャッシュによって行われるクラスタ SQL ノードのチェック間のミリ秒数
MySQL クエリーキャッシュによる MySQL Cluster SQL ノードのチェック間で経過するミリ秒数。これを 0 (デフォルトおよび最小値) に設定すると、クエリーキャッシュですべてのクエリーの妥当性がチェックされます。
この変数の推奨最大値は 1000 です。これは、チェックが毎秒 1 回行われることを意味します。より大きな値にすると、チェックが実行され、場合によっては異なる SQL ノードでの更新のために無効になる頻度が少なくなります。これを 2000 より大きな値に設定することは、通常、望ましくありません。
-
表 18.36 ndb_deferred_constraints の型と値の情報
コマンド行 システム変数 ステータス変数 オプションファイル スコープ 動的 開始バージョン 型 デフォルト、範囲 メモ はい はい いいえ はい 両方 はい NDB 7.3 整数 0 / 0 - 1 説明: 制約チェック (サポートされている場合) を遅延させることを指定します。通常は必要なく、使用されません。テストの目的にのみ使用されます。
制約チェックがサポートされる場合に、それを遅延するかどうかを制御します。
0
がデフォルトです。この変数は、MySQL Cluster または MySQL Cluster レプリケーションの動作には通常不要であり、主にテストでの使用を目的としています。
-
表 18.37 ndb_distribution の型と値の情報
コマンド行 システム変数 ステータス変数 オプションファイル スコープ 動的 開始バージョン 型 デフォルト、範囲 メモ はい はい いいえ はい グローバル はい NDB 7.3 列挙 KEYHASH / LINHASH, KEYHASH 説明: NDBCLUSTER の新しいテーブルのデフォルトの配布 (KEYHASH または LINHASH、デフォルトは KEYHASH)
NDB
テーブルのデフォルトの分配方法を制御します。KEYHASH
(キーハッシュ) またはLINHASH
(線形ハッシュ) のいずれかに設定できます。KEYHASH
がデフォルトです。 -
表 18.38 ndb_eventbuffer_max_alloc の型と値の情報
コマンド行 システム変数 ステータス変数 オプションファイル スコープ 動的 開始バージョン 型 デフォルト、範囲 メモ はい はい いいえ はい グローバル はい NDB 7.3 数値 0 / 0 - 4294967295 説明: NDB API によるイベントのバッファリングのために割り当てることのできる最大メモリー。デフォルトでは 0 (制限なし) になります。
NDB API によるイベントのバッファリングに割り当てる可能な最大メモリー量 (バイト単位) を設定します。0 はデフォルトで、制限が適用されません。
この変数は MySQL Cluster NDB 7.3.3 で追加されました。
-
表 18.39 ndb_extra_logging の型と値の情報
コマンド行 システム変数 ステータス変数 オプションファイル スコープ 動的 開始バージョン 型 デフォルト、範囲 メモ はい はい いいえ はい グローバル はい NDB 7.3 数値 0 / - 5.1.19-ndb-6.3.0 数値 1 / - 説明: MySQL Cluster スキーマ、接続、およびデータ配布イベントの、MySQL エラーログへのロギングを制御
この変数は、
NDB
ストレージエンジンに固有の情報を MySQL エラーログに記録できるようにします。この変数を 0 に設定すると、MySQL エラーログに書き込まれる
NDB
固有の情報がトランザクション処理に関するものだけになります。0 より大きく 10 より小さい値に設定すると、NDB
のテーブルスキーマイベントと接続イベント、競合解決の使用中の有無、およびNDB
のその他のエラーと情報も記録されます。値を 10 以上に設定すると、NDB
の内部に関する情報 (クラスタノード間のデータ分配の進行状況など) も MySQL エラーログに書き込まれます。デフォルトは 1 です。 -
表 18.40 ndb_force_send の型と値の情報
コマンド行 システム変数 ステータス変数 オプションファイル スコープ 動的 開始バージョン 型 デフォルト、範囲 メモ はい はい いいえ はい 両方 はい NDB 7.3 ブール TRUE 説明: ほかのスレッドを待機することなく、ただちにバッファーを NDB に強制的に送信
ほかのスレッドを待機せずに、バッファーを
NDB
にただちに送信します。デフォルトはON
です。 -
表 18.41 ndb_index_stat_cache_entries の型と値の情報
コマンド行 システム変数 ステータス変数 オプションファイル スコープ 動的 開始バージョン 型 デフォルト、範囲 メモ はい はい いいえ はい 両方 はい NDB 7.3 数値 32 / 0 - 4294967295 説明: 開始キーと終了キーの数を決定することにより、統計の粒度を設定
統計メモリーキャッシュに格納する開始キーと終了キーの数を指定して、統計の粒度を設定します。0 では、キャッシュが行われません。この場合、データノードは常に直接クエリーされます。デフォルト値:
32
。注記ndb_index_stat_enable
がOFF
の場合は、この変数を設定しても無効になります。この変数は MySQL 5.1 で非推奨になり、MySQL Cluster NDB 7.3.5 以降では削除されています。
-
表 18.42 ndb_index_stat_enable の型と値の情報
コマンド行 システム変数 ステータス変数 オプションファイル スコープ 動的 開始バージョン 型 デフォルト、範囲 メモ はい はい いいえ はい 両方 はい NDB 7.3 ブール OFF 5.5.15-ndb-7.2.1 ブール ON 説明: クエリーの最適化で NDB インデックス統計を使用
クエリーの最適化で
NDB
インデックス統計を使用します。デフォルトはON
です。 -
表 18.43 ndb_index_stat_option の型と値の情報
コマンド行 システム変数 ステータス変数 オプションファイル スコープ 動的 開始バージョン 型 デフォルト、範囲 メモ はい はい いいえ はい 両方 はい NDB 7.3 文字列 loop_enable=1000ms,loop_idle=1000ms,loop_busy=100ms, update_batch=1,read_batch=4,idle_batch=32,check_batch=8, check_delay=10m,delete_batch=8, clean_delay=1m,error_batch=4, error_delay=1m,evict_batch=8,evict_delay=1m,cache_limit=32M, cache_lowpct=90,zero_total=0 5.1.56-ndb-7.1.17 文字列 loop_checkon=1000ms,loop_idle=1000ms,loop_busy=100ms, update_batch=1,read_batch=4,idle_batch=32,check_batch=32, check_delay=1m,delete_batch=8,clean_delay=0,error_batch=4, error_delay=1m,evict_batch=8,evict_delay=1m,cache_limit=32M, cache_lowpct=90 説明: NDB インデックス統計の調整可能なオプションのカンマ区切りのリスト。リストはスペースを含んではなりません
この変数は、NDB インデックス統計の生成に関する調整オプションを提供するために使用されます。このリストは、カンマで区切られたオプション名と値の名前/値ペアで構成されます。このリストに空白文字を入れることはできません。
ndb_index_stat_option
の設定時に使用していなかったオプションは、デフォルト値から変更できません。たとえば、ndb_index_stat_option = 'loop_idle=1000ms,cache_limit=32M'
のように設定できます。オプションで、時間値のサフィクスとして
s
(秒) またはms
(ミリ秒) を使用できます。整数値のサフィクスとしてK
、M
、またはG
を使用できます。この変数を使用して設定できるオプションの名前を次の表に示します。この表には、オプションの簡単な説明、デフォルト値、および (適用可能な場合は) 最小値と最大値も示します。
名前 説明 デフォルト/単位 最小/最大 loop_enable
1000 ms 0/4G loop_idle
アイドル時のスリープ時間 1000 ms 0/4G loop_busy
追加作業が待機しているときのスリープ時間 100 ms 0/4G update_batch
1 0/4G read_batch
4 1/4G idle_batch
32 1/4G check_batch
8 1/4G check_delay
新しい統計をチェックする頻度 10 ms 1/4G delete_batch
8 0/4G clean_delay
1 ms 0/4G error_batch
4 1/4G error_delay
1 ms 1/4G evict_batch
8 1/4G evict_delay
LRU キャッシュを削除します (読み取り時から) 1 ms 0/4G cache_limit
この mysqld がキャッシュされたインデックス統計のために使用するメモリーの最大量 (バイト単位)。これを超えたときにキャッシュをクリーンアップします。 32 M 0/4G cache_lowpct
90 0/100 zero_total
これを 1 に設定すると、 ndb_index_stat_status
のすべての累積カウンタが 0 にリセットされます。これが行われると、このオプション値も 0 にリセットされます。0 0/1 -
表 18.44 ndb_index_stat_update_freq の型と値の情報
コマンド行 システム変数 ステータス変数 オプションファイル スコープ 動的 開始バージョン 型 デフォルト、範囲 メモ はい はい いいえ はい 両方 はい NDB 7.3 数値 20 / 0 - 4294967295 説明: 統計キャッシュではなくデータノードにクエリーを実行する頻度
統計キャッシュの代わりにデータノードをクエリーする頻度。たとえば、値
20
(デフォルト) ではクエリーを 20 回に 1 回データノードに送信します。注記ndb_index_stat_cache_entries
が0
の場合は、この変数を設定しても無効になります。この場合は、すべてのクエリーがデータノードに直接送信されます。この変数は MySQL 5.1 で非推奨になり、MySQL Cluster NDB 7.3.5 以降では削除されています。
-
表 18.45 ndb_join_pushdown の型と値の情報
コマンド行 システム変数 ステータス変数 オプションファイル スコープ 動的 開始バージョン 型 デフォルト、範囲 メモ いいえ はい いいえ いいえ 両方 はい 5.1.51-ndb-7.2.0 ブール TRUE 説明: データノードへの結合のプッシュダウンを有効化
この変数は、
NDB
テーブル上の結合が NDB カーネル (データノード) にプッシュダウンされるかどうかを制御します。以前は、SQL ノードによるNDB
の複数アクセスにより結合が処理されていましたが、ndb_join_pushdown
を有効にすると、プッシュ可能な結合のすべてがデータノードに送信されます。この場合、結合はデータノード間で分配され、データの複数のコピーに対して並列で実行され、単一のマージされた結果が mysqld に返されます。これにより、このような結合を処理するために必要な SQL ノードとデータノード間のラウンドトリップの回数を大幅に減らすことができます。デフォルトでは、
ndb_join_pushdown
は有効になっています。結合をプッシュ可能にするには、次の条件を満たす必要があります。
-
比較できるのはカラムのみであり、結合されるすべてのカラムが完全に同じデータ型を使用している必要があります。
つまり、
t1.a = t2.a +
のような式はプッシュダウンできません。また、(たとえば)constant
INT
カラムとBIGINT
カラムの結合をプッシュダウンすることもできません。 BLOB
またはTEXT
カラムを参照するクエリーはサポートされません。-
明示的なロックはサポートされません。ただし、
NDB
ストレージエンジンの特徴である暗黙的な行ベースのロックは適用されます。これは、
FOR UPDATE
を使用する結合をプッシュダウンできないことを意味します。 -
結合をプッシュダウンするには、
ref
、eq_ref
、またはconst
アクセスメソッドのいずれか、またはこれらのメソッドの組み合わせを使用して結合の子テーブルにアクセスする必要があります。外部結合された子テーブルは、
eq_ref
のみを使用してプッシュできます。プッシュされた結合のルートが
eq_ref
またはconst
である場合は、eq_ref
によって結合された子テーブルのみを追加できます。(ref
によって結合されたテーブルは、プッシュされた結合の別のルートになる可能性があります。)クエリーオプティマイザで候補となる子テーブルに
Using join cache
を指定した場合は、そのテーブルは子としてプッシュできません。ただし、プッシュされたテーブルの別のセットのルートになることはできます。 [LINEAR] HASH
、LIST
、またはRANGE
によって明示的にパーティション化されたテーブルを参照する結合は、現在のところプッシュダウンできません。
特定の結合をプッシュダウンできるかどうかを確認するには、それを
EXPLAIN
でチェックします。結合をプッシュダウンできる場合は、この例に示すように、出力のExtra
カラムにpushed join
への参照が表示されます。mysql> EXPLAIN -> SELECT e.first_name, e.last_name, t.title, d.dept_name -> FROM employees e -> JOIN dept_emp de ON e.emp_no=de.emp_no -> JOIN departments d ON d.dept_no=de.dept_no -> JOIN titles t ON e.emp_no=t.emp_no\G *************************** 1. row *************************** id: 1 select_type: SIMPLE table: d type: ALL possible_keys: PRIMARY key: NULL key_len: NULL ref: NULL rows: 9 Extra: Parent of 4 pushed join@1 *************************** 2. row *************************** id: 1 select_type: SIMPLE table: de type: ref possible_keys: PRIMARY,emp_no,dept_no key: dept_no key_len: 4 ref: employees.d.dept_no rows: 5305 Extra: Child of 'd' in pushed join@1 *************************** 3. row *************************** id: 1 select_type: SIMPLE table: e type: eq_ref possible_keys: PRIMARY key: PRIMARY key_len: 4 ref: employees.de.emp_no rows: 1 Extra: Child of 'de' in pushed join@1 *************************** 4. row *************************** id: 1 select_type: SIMPLE table: t type: ref possible_keys: PRIMARY,emp_no key: emp_no key_len: 4 ref: employees.de.emp_no rows: 19 Extra: Child of 'e' in pushed join@1 4 rows in set (0.00 sec)
注記内部結合されたテーブルが
ref
によって結合され、かつその結果がソートされたインデックスによって順序付けまたはグループ化された場合、このインデックスはソートされた行を提供できず、ソートされた一時ファイルへの書き込みが強制されます。プッシュされた結合の動作については、追加の情報源が 2 つあります。
ステータス変数
Ndb_pushed_queries_defined
、Ndb_pushed_queries_dropped
、Ndb_pushed_queries_executed
、およびNdb_pushed_reads
。DBSPJ
カーネルブロックに属するndbinfo.counters
テーブル内のカウンタ。このカウンタについては、セクション18.5.10.7「ndbinfo counters テーブル」を参照してください。『MySQL Cluster API Developer Guide』のThe DBSPJ Blockも参照してください。
-
-
表 18.46 ndb_log_apply_status の型と値の情報
コマンド行 システム変数 ステータス変数 オプションファイル スコープ 動的 開始バージョン 型 デフォルト、範囲 メモ はい はい いいえ はい グローバル いいえ NDB 7.3 ブール OFF 説明: スレーブとして機能している MySQL サーバーが、直接のマスターから受信した mysql.ndb_apply_status の更新を、自身のサーバー ID を使用して自身のバイナリログに記録するかどうか。
--ndb-log-apply-status
オプションを使用してサーバーが起動されたかどうかを示す読み取り専用の変数。 -
表 18.47 ndb_log_bin の型と値の情報
コマンド行 システム変数 ステータス変数 オプションファイル スコープ 動的 開始バージョン 型 デフォルト、範囲 メモ はい はい いいえ いいえ 両方 はい NDB 7.3 ブール ON 説明: NDB テーブルの更新をバイナリログに書き込みます。--log-bin でバイナリロギングが有効になっている場合にのみ有効です。
NDB
テーブルの更新がバイナリログに書き込まれるようになります。サーバーのバイナリロギングがまだlog_bin
を使用して有効になっていない場合は、この変数を設定しても無効になります。ndb_log_bin
のデフォルトは 1 (ON) です。通常、本番環境でこの値を変更する必要はありません。 -
表 18.48 ndb_log_binlog_index の型と値の情報
コマンド行 システム変数 ステータス変数 オプションファイル スコープ 動的 開始バージョン 型 デフォルト、範囲 メモ はい はい いいえ いいえ グローバル はい NDB 7.3 ブール ON 説明: エポックとバイナリログの位置の間のマッピングを ndb_binlog_index テーブルに挿入します。デフォルトでは ON になります。サーバー上でバイナリロギングが有効になっている場合にのみ有効です。
エポックとバイナリログ内の位置とのマッピングが
ndb_binlog_index
テーブルに挿入されるようになります。サーバーのバイナリロギングがまだlog_bin
を使用して有効になっていない場合は、この変数を設定しても無効になります。(また、ndb_log_bin
も無効にしないでください。)ndb_log_binlog_index
のデフォルトは1
(ON
) です。通常、本番環境でこの値を変更する必要はありません。 -
表 18.49 ndb_log_empty_epochs の型と値の情報
コマンド行 システム変数 ステータス変数 オプションファイル スコープ 動的 開始バージョン 型 デフォルト、範囲 メモ はい はい いいえ はい グローバル はい NDB 7.3 ブール OFF 説明: 有効な場合は、log_slave_updates が有効であっても、変更がなかったエポックが ndb_apply_status および ndb_binlog_index テーブルに書き込まれます。
この変数を 0 に設定すると、変更がなかったエポックトランザクションがバイナリログに書き込まれなくなりますが、
ndb_binlog_index
には空のエポックの行も書き込まれます。 -
表 18.50 ndb_log_exclusive_reads の型と値の情報
コマンド行 システム変数 ステータス変数 オプションファイル スコープ 動的 開始バージョン 型 デフォルト、範囲 メモ はい はい いいえ はい 両方 はい NDB 7.3 ブール 0 説明: 排他的ロックによる主キーの読み取りをログに記録します。読み取りの競合に基づく競合解決を許可します。
MySQL Cluster NDB 7.4.1 以降では、この変数によって、主キーの読み取りを排他ロックで記録するかどうかを指定します。これにより、読み取りの競合に基づく MySQL Cluster レプリケーションの競合検出および解決が可能になります。このロックを有効にするには、
ndb_log_exclusive_reads
の値を 1 に設定します。0 (このようなロックを無効にする) がデフォルトです。詳細は、読み取り競合の検出と解決を参照してください。
-
表 18.51 ndb_log_orig の型と値の情報
コマンド行 システム変数 ステータス変数 オプションファイル スコープ 動的 開始バージョン 型 デフォルト、範囲 メモ はい はい いいえ はい グローバル いいえ NDB 7.3 ブール OFF 説明: 発信サーバーの ID とエポックが mysql.ndb_binlog_index テーブルに記録されるかどうか。mysqld を起動するときに --ndb-log-orig オプションを使用して設定します。
発信元サーバーの ID とエポックが
ndb_binlog_index
テーブルに記録されるかどうかを示します。--ndb-log-orig
サーバーオプションを使用して設定します。 -
表 18.52 ndb_log_transaction_id の型と値の情報
コマンド行 システム変数 ステータス変数 オプションファイル スコープ 動的 開始バージョン 型 デフォルト、範囲 メモ いいえ はい いいえ いいえ グローバル いいえ NDB 7.3 ブール OFF 説明: NDB トランザクション ID がバイナリログに書き込まれるかどうか。(読み取り専用。)
この読み取り専用のブールシステム変数は、スレーブの mysqld が (「アクティブ-アクティブ」型の MySQL Cluster レプリケーションを
NDB$EPOCH_TRANS()
の競合検出とともに使用するために必要な) NDB トランザクション ID をバイナリログに書き込むかどうかを示します。この設定を変更するには、--ndb-log-transaction-id
オプションを使用します。メインラインの MySQL Server 5.6 では
ndb_log_transaction_id
はサポートされません。詳細は、セクション18.6.11「MySQL Cluster レプリケーションの競合解決」を参照してください。
-
表 18.53 ndb_optimized_node_selection の型と値の情報
コマンド行 システム変数 ステータス変数 オプションファイル スコープ 動的 開始バージョン 型 デフォルト、範囲 メモ はい はい いいえ はい グローバル いいえ NDB 7.3 ブール ON 5.1.22-ndb-6.3.4 数値 3 / 0 - 3 説明: SQL ノードが、トランザクションコーディネータとして使用するためにクラスタデータノードを選択する方法を決定
最適化されたノードの選択には、ここの示す 2 つの形式があります。
SQL ノードは、近接性を使用してトランザクションコーディネータを指定します。つまり、その SQL ノードから「もっとも近い」データノードがトランザクションコーディネータとして選択されます。この指定では、SQL ノードとの共有メモリー接続を持つデータノードがその SQL ノードから「もっとも近い」とみなされます。次に近いのは、(近接性が低くなる順に)
localhost
との TCP 接続、SCI 接続、localhost
以外のホストからの TCP 接続です。SQL スレッドは、分布の認識を使用してデータノードを選択します。つまり、特定のトランザクションの最初のステートメントによってアクセスされるクラスタパーティションを収容するデータノードが、トランザクション全体のトランザクションコーディネータとして使用されます。(これは、トランザクションの最初のステートメントが 1 つのクラスタパーティションにしかアクセスしない場合にのみ有効です。)
このオプションは、
0
、1
、2
、または3
のいずれかの整数値を取ります。3
がデフォルトです。これらの値は、ノード選択に次のように影響します。0
: ノード選択は最適化されません。SQL スレッドが次のデータノードに進む前に、各データノードがトランザクションコーディネータとして 8 回ずつ採用されます。1
: SQL ノードへの近接性を使用してトランザクションコーディネータが指定されます。2
: 分布の認識を使用してトランザクションコーディネータが選択されます。ただし、トランザクションの最初のステートメントが複数のクラスタパーティションにアクセスする場合は、SQL ノードはこのオプションを0
に設定したときに見られるラウンドロビンの動作に戻ります。3
: トランザクションコーディネータを指定するために分布の認識を使用できる場合は、それが使用されます。そうでない場合は、近接性を使用してトランザクションコーディネータが選択されます。(これはデフォルトの動作です。)
-
ndb_recv_thread_activation_threshold
表 18.54 ndb_recv_thread_activation_threshold の型と値の情報
コマンド行 システム変数 ステータス変数 オプションファイル スコープ 動的 開始バージョン 型 デフォルト、範囲 メモ いいえ いいえ いいえ いいえ いいえ 5.6.10-ndb-7.3.1 数値 8 / 0 (MIN_ACTIVATION_THRESHOLD) - 16 (MAX_ACTIVATION_THRESHOLD) 説明: 受信スレッドがクラスタ接続のポーリングを引き継ぐときのアクティブ化のしきい値 (同時にアクティブなスレッドで測定されます)
現在アクティブなスレッドがこの数に達すると、受信スレッドがクラスタ接続のポーリングを引き継ぎます。
この変数のスコープはグローバルです。また、
--ndb-recv-thread-activation-threshold
オプションを使用して起動時に設定することもできます。 -
表 18.55 ndb_recv_thread_cpu_mask の型と値の情報
コマンド行 システム変数 ステータス変数 オプションファイル スコープ 動的 開始バージョン 型 デフォルト、範囲 メモ いいえ はい いいえ いいえ グローバル はい NDB 7.3 ビットマップ [空] 説明: 受信者スレッドを特定の CPU にロックするための CPU マスク。16 進数として指定されます。詳細は、ドキュメントを参照してください。
受信者スレッドを特定の CPU にロックするための CPU マスク。これは、16 進数のビットマスクとして指定されます。たとえば、
0x33
は受信者スレッドごとに 1 つの CPU を使用します。空の文字列がデフォルトです。ndb_recv_thread_cpu_mask
をこの値に設定すると、以前に設定された受信者スレッドのロックがすべて削除されます。この変数のスコープはグローバルです。また、
--ndb-recv-thread-cpu-mask
オプションを使用して起動時に設定することもできます。 -
ndb_report_thresh_binlog_epoch_slip
表 18.56 ndb_report_thresh_binlog_epoch_slip の型と値の情報
コマンド行 システム変数 ステータス変数 オプションファイル スコープ 動的 開始バージョン 型 デフォルト、範囲 メモ はい いいえ いいえ はい いいえ NDB 7.3 数値 3 / 0 - 256 説明: これは、バイナリログステータスをレポートする前に、過ぎていなければならないエポックの数のしきい値です
これは、バイナリログのステータスを報告するまでに遅延するエポックの数に対するしきい値です。たとえば、値
3
(デフォルト) では、ストレージノードから受信したエポックとバイナリログに適用されたエポックの差が 3 以上になると、ステータスメッセージがクラスタログに送信されます。 -
ndb_report_thresh_binlog_mem_usage
表 18.57 ndb_report_thresh_binlog_mem_usage の型と値の情報
コマンド行 システム変数 ステータス変数 オプションファイル スコープ 動的 開始バージョン 型 デフォルト、範囲 メモ はい いいえ いいえ はい いいえ NDB 7.3 数値 10 / 0 - 10 説明: これは、バイナリログステータスをレポートする前に、残っている空きメモリーの割合のしきい値です。
これは、バイナリログのステータスを報告するまでに残存する空きメモリーの割合に対するしきい値です。たとえば、値
10
(デフォルト) では、データノードからのバイナリログデータの受信に使用できるメモリー量が 10% を下回ると、ステータスメッセージがクラスタログに送信されます。 -
表 18.58 slave_allow_batching の型と値の情報
コマンド行 システム変数 ステータス変数 オプションファイル スコープ 動的 開始バージョン 型 デフォルト、範囲 メモ はい はい いいえ はい グローバル はい NDB 7.3 ブール off 説明: レプリケーションスレーブの更新バッチ化をオンおよびオフにする
MySQL Cluster レプリケーションのスレーブでバッチ更新が有効かどうか。
現在、この変数は MySQL Cluster に付属する、または MySQL Cluster ソースからビルドされた mysqld でのみ使用可能です。詳細は、セクション18.6.6「MySQL Cluster レプリケーションの起動 (レプリケーションチャネルが 1 つ)」を参照してください。
-
ndb_show_foreign_key_mock_tables
表 18.59 ndb_show_foreign_key_mock_tables の型と値の情報
コマンド行 システム変数 ステータス変数 オプションファイル スコープ 動的 開始バージョン 型 デフォルト、範囲 メモ はい はい いいえ はい グローバル はい NDB 7.3 ブール OFF 説明: foreign_key_checks=0 をサポートするために使用される擬似テーブルを表示します。
NDB
がforeign_key_checks=0
のサポートに使用するモックテーブルを示します。これを有効にすると、テーブルを作成および削除するときに追加の警告が表示されます。このテーブルの実際の (内部の) 名前は、SHOW CREATE TABLE
の出力に表示されます。 -
表 18.60 ndb_slave_conflict_role の型と値の情報
コマンド行 システム変数 ステータス変数 オプションファイル スコープ 動的 開始バージョン 型 デフォルト、範囲 メモ はい はい いいえ はい グローバル はい NDB 7.3 列挙 NONE / NONE、PRIMARY、SECONDARY、PASS 説明: スレーブが、競合の検出と解決で果たすロール。値は PRIMARY、SECONDARY、PASS、NONE (デフォルト) のいずれかです。スレーブ SQL スレッドが停止されている場合にのみ変更できます。詳細は、ドキュメントを参照してください。
循環 (「アクティブ-アクティブ」) レプリケーションセットアップでのこの SQL ノード (および MySQL Cluster) のロールを指定します。
ndb_slave_conflict_role
では、PRIMARY
、SECONDARY
、PASS
、またはNULL
(デフォルト) のいずれかの値を取ることができます。ndb_slave_conflict_role
を変更するには、その前にスレーブの SQL スレッドを停止する必要があります。また、これをPASS
とPRIMARY
またはSECONDARY
のいずれかの間で直接変更することはできません。変更する場合は、SQL スレッドが停止していることを確認してから、先にSET @@GLOBAL.ndb_slave_conflict_role = 'NONE'
を実行する必要があります。この変数は MySQL Cluster NDB 7.4.1 で追加されました。詳細は、セクション18.6.11「MySQL Cluster レプリケーションの競合解決」を参照してください。
-
表 18.61 ndb_table_no_logging の型と値の情報
コマンド行 システム変数 ステータス変数 オプションファイル スコープ 動的 開始バージョン 型 デフォルト、範囲 メモ いいえ はい いいえ いいえ セッション はい NDB 7.3 ブール FALSE 説明: この設定が有効なときに作成された NDB テーブルはディスクに対してチェックポイントを設定しません (ただし、テーブルスキーマファイルは作成されます)。テーブルが NDBCLUSTER で作成されるか、またはそれを使用するように変更されたときに有効な設定は、そのテーブルの有効期間にわたって保持されます。
この変数を
ON
または1
に設定すると、NDB
テーブルのチェックポイントがディスクに対して実行されなくなります。より具体的には、この設定はndb_table_no_logging
が有効になっているときにENGINE NDB
を使用して作成または変更されたテーブルに適用され、あとでndb_table_no_logging
が変更された場合でも、テーブルの存続期間にわたって適用され続けます。ここに示すように、テーブルA
、B
、C
、およびD
を作成 (および変更) して、ndb_table_no_logging
の設定も変更したとします。SET @@ndb_table_no_logging = 1; CREATE TABLE A ... ENGINE NDB; CREATE TABLE B ... ENGINE MYISAM; CREATE TABLE C ... ENGINE MYISAM; ALTER TABLE B ENGINE NDB; SET @@ndb_table_no_logging = 0; CREATE TABLE D ... ENGINE NDB; ALTER TABLE C ENGINE NDB; SET @@ndb_table_no_logging = 1;
前の一連のイベントのあと、テーブル
A
とB
のチェックポイントは実行されません (A
はENGINE NDB
を使用して作成され、B はNDB
を使用するように変更されましたが、どちらもndb_table_no_logging
の有効時に行われたため)。ただし、テーブルC
とD
は記録されます (C
はNDB
を使用するように変更され、D
はENGINE NDB
を使用して作成されましたが、どちらもndb_table_no_logging
の無効時に行われたため)。ndb_table_no_logging
を1
またはON
に再度設定しても、テーブルC
またはD
のチェックポイントは実行されません。注記ndb_table_no_logging
は、NDB
テーブルスキーマファイルの作成では無効になります。これをサポートするには、代わりにndb_table_temporary
を使用してください。 -
表 18.62 ndb_table_temporary の型と値の情報
コマンド行 システム変数 ステータス変数 オプションファイル スコープ 動的 開始バージョン 型 デフォルト、範囲 メモ いいえ はい いいえ いいえ セッション はい NDB 7.3 ブール FALSE 説明: NDB テーブルはディスク上で永続的ではありません。スキーマファイルは作成されず、テーブルはログに記録されません
この変数を
ON
または1
に設定すると、NDB
テーブルがディスクに書き込まれなくなります。これは、テーブルスキーマファイルが作成されず、テーブルが記録されないことを意味します。注記MySQL Cluster NDB 7.0 以降では、現在のところ、この変数を設定しても無効になります。これは既知の問題です。Bug #34036 を参照してください。
-
表 18.63 ndb_use_copying_alter_table の型と値の情報
コマンド行 システム変数 ステータス変数 オプションファイル スコープ 動的 開始バージョン 型 デフォルト、範囲 メモ いいえ はい いいえ いいえ 両方 いいえ 説明: MySQL Cluster で ALTER TABLE 操作のコピーを使用
オンラインの
ALTER TABLE
操作で問題が発生したときに、NDB
によりテーブルのコピーが強制的に使用されます。デフォルト値はOFF
です。 -
表 18.64 ndb_use_exact_count の型と値の情報
コマンド行 システム変数 ステータス変数 オプションファイル スコープ 動的 開始バージョン 型 デフォルト、範囲 メモ いいえ はい いいえ いいえ 両方 はい NDB 7.3 ブール ON 5.1.47-ndb-7.1.8 ブール OFF 説明: クエリーを計画する際に正確な行数を使用
SELECT COUNT(*)
クエリーでこのタイプのクエリーの高速化を計画するときに、NDB
によりレコードのカウントが強制的に使用されます。デフォルト値はOFF
で、クエリー全体が高速化されます。 -
表 18.65 ndb_use_transactions の型と値の情報
コマンド行 システム変数 ステータス変数 オプションファイル スコープ 動的 開始バージョン 型 デフォルト、範囲 メモ はい はい いいえ はい 両方 はい NDB 7.3 ブール ON 説明: SELECT COUNT(*) クエリー計画中に、強制的に NDB にレコードの数を使用してこのタイプのクエリーを高速化させる
NDB
のトランザクションサポートを無効にするには、この変数の値をOFF
に設定します (推奨されません)。デフォルトはON
です。 -
表 18.66 ndb_version の型と値の情報
コマンド行 システム変数 ステータス変数 オプションファイル スコープ 動的 開始バージョン 型 デフォルト、範囲 メモ いいえ はい いいえ いいえ グローバル いいえ NDB 7.3 文字列 説明: ビルドおよび NDB エンジンのバージョンを整数として表示します。
NDB
エンジンのバージョン (合成整数として)。 -
表 18.67 ndb_version_string の型と値の情報
コマンド行 システム変数 ステータス変数 オプションファイル スコープ 動的 開始バージョン 型 デフォルト、範囲 メモ いいえ はい いいえ いいえ グローバル いいえ NDB 7.3 文字列 説明: NDB エンジンのバージョンを含むビルド情報を ndb-x.y.z の形式で表示します。
NDB
エンジンのバージョン (ndb-
形式)。x.y.z
-
表 18.68 server_id_bits の型と値の情報
コマンド行 システム変数 ステータス変数 オプションファイル スコープ 動的 開始バージョン 型 デフォルト、範囲 メモ はい はい いいえ はい グローバル いいえ NDB 7.3 数値 32 / 7 - 32 説明: --server-id-bits オプションがデフォルト以外の値に設定された状態でサーバーが起動された場合の server_id の有効な値。
--server-id-bits
オプションをデフォルト以外の値に設定してサーバーを起動した場合のserver_id
の有効値。server_id
の値が 2 のserver_id_bits
乗以上の場合、mysqld は起動を拒否します。このシステム変数は MySQL Cluster でのみサポートされます。
server_id_bits
は標準の MySQL Server ではサポートされません。 -
表 18.69 transaction_allow_batching の型と値の情報
コマンド行 システム変数 ステータス変数 オプションファイル スコープ 動的 開始バージョン 型 デフォルト、範囲 メモ いいえ はい いいえ いいえ セッション はい NDB 7.3 ブール FALSE 説明: トランザクション内でのステートメントのバッチ化を許可します。使用するには AUTOCOMMIT を無効にします。
この変数を
1
またはON
に設定すると、同じトランザクション内のステートメントのバッチ化が有効になります。この変数を使用するには、先にautocommit
を0
またはOFF
に設定して無効にする必要があります。これを実行しない場合、transaction_allow_batching
を設定しても無効になります。この変数は、有効にすると「以前の」イメージから読み取りが行われる可能性があるため、書き込みのみを実行するトランザクションで使用するのが安全です。
SELECT
を発行する前に、(必要に応じて明示的なCOMMIT
を使用して) 保留中のトランザクションをすべて確実にコミットするようにしてください。重要特定のステートメントの効果が同じトランザクション内の前のステートメントの結果に依存する可能性がある場合は、
transaction_allow_batching
を使用しないでください。この変数は、現在のところ MySQL Cluster でのみサポートされます。
次のリストのシステム変数は、すべて ndbinfo
情報データベースに関連するものです。
-
表 18.70 ndbinfo_database の型と値の情報
コマンド行 システム変数 ステータス変数 オプションファイル スコープ 動的 開始バージョン 型 デフォルト、範囲 メモ いいえ はい いいえ いいえ グローバル いいえ NDB 7.3 文字列 ndbinfo 説明: NDB 情報データベースに使用される名前。読み取り専用。
NDB
情報データベースに使用される名前を示します。デフォルトはndbinfo
です。これは、コンパイル時に値が指定される読み取り専用の変数です。これを設定するには、--ndbinfo-database=
を使用してサーバーを起動します。これにより、この変数で示される値が設定されますが、NDB 情報データベースに使用される名前は実際には変更されません。name
-
表 18.71 ndbinfo_max_bytes の型と値の情報
コマンド行 システム変数 ステータス変数 オプションファイル スコープ 動的 開始バージョン 型 デフォルト、範囲 メモ はい はい いいえ いいえ 両方 はい NDB 7.3 数値 0 / - 説明: デバッグにのみ使用されます。
テストとデバッグでのみ使用されます。
-
表 18.72 ndbinfo_max_rows の型と値の情報
コマンド行 システム変数 ステータス変数 オプションファイル スコープ 動的 開始バージョン 型 デフォルト、範囲 メモ はい はい いいえ いいえ 両方 はい NDB 7.3 数値 10 / - 説明: デバッグにのみ使用されます。
テストとデバッグでのみ使用されます。
-
表 18.73 ndbinfo_offline の型と値の情報
コマンド行 システム変数 ステータス変数 オプションファイル スコープ 動的 開始バージョン 型 デフォルト、範囲 メモ いいえ はい いいえ いいえ グローバル はい NDB 7.3 ブール OFF 説明: ndbinfo データベースをオフラインモードにします。この場合、テーブルまたはビューから行は返されません。
ndbinfo
データベースをオフラインモードにします。オフラインモードでは、テーブルやビューが実際には存在しない場合や、存在するがNDB
での定義が異なる場合でも、テーブルやビューを開くことができます。このようなテーブル (またはビュー) からは、行は返されません。 -
ndbinfo
データベースのベースとなる内部テーブルがmysql
クライアントに表示されるかどうか。デフォルトはOFF
です。 -
表 18.75 ndbinfo_table_prefix の型と値の情報
コマンド行 システム変数 ステータス変数 オプションファイル スコープ 動的 開始バージョン 型 デフォルト、範囲 メモ はい はい いいえ いいえ 両方 はい NDB 7.3 文字列 ndb$ 説明: ndbinfo 内部ベーステーブルの命名に使用するプリフィクス
ndbinfo データベースのベーステーブル (
ndbinfo_show_hidden
を設定して公開されないかぎり、通常は非表示です) の名前に使用されるプリフィクス。これは読み取り専用の変数であり、デフォルト値は 「ndb$
」 です。サーバーの起動時に--ndbinfo-table-prefix
オプションを使用できますが、その場合はこの変数が設定されるだけで、非表示のベーステーブルの名前に使用される実際のプリフィクスは変更されません。プリフィクス自体はコンパイル時に指定されます。 -
表 18.76 ndbinfo_version の型と値の情報
コマンド行 システム変数 ステータス変数 オプションファイル スコープ 動的 開始バージョン 型 デフォルト、範囲 メモ いいえ はい いいえ いいえ グローバル いいえ NDB 7.3 文字列 説明: ndbinfo エンジンのバージョン。読み取り専用。
使用中の
ndbinfo
エンジンのバージョンを示します (読み取り専用)。