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


18.4.7 ndb_config — MySQL Cluster 構成情報の抽出

このツールは、いくつかのソース (MySQL Cluster 管理ノード、あるいは config.ini ファイルまたは my.cnf ファイル) のいずれかから、データノード、SQL ノード、および API ノードの現在の構成情報を抽出します。デフォルトでは、管理ノードが構成データのソースです。デフォルトをオーバーライドするには、--config-file オプションまたは --mycnf オプションを指定して ndb_config を実行します。--config_from_node=node_id にノード ID を指定することによって、データノードをソースとして使用することもできます。

ndb_config は、使用できるすべての構成パラメータ、およびそれらのデフォルト値、最大値、最小値、その他の情報のオフラインダンプを生成することもできます。このダンプはテキスト形式または XML 形式で生成できます。詳細は、このセクションで後述する --configinfo および --xml オプションの説明を参照してください)。

--nodes--system、または --connections のいずれかのオプションを使用すると、結果をセクション (DBSYSTEM、または CONNECTIONS) によってフィルタリングできます。

次の表には、ndb_config に固有のオプションが含まれています。追加説明が表のあとにあります。ほとんどの MySQL Cluster プログラム (ndb_config を含む) に共通するオプションについては、セクション18.4.27「MySQL Cluster プログラムに共通するオプション — MySQL Cluster プログラムに共通するオプション」を参照してください。

表 18.82  この表は、ndb_config プログラムのコマンド行オプションについて説明しています

形式 説明 追加または削除

--nodes

ノード情報 (DB セクション) のみを出力します。

すべての MySQL 5.6 ベースリリース

--connections

CONNECTIONS セクション情報のみを出力します。--nodes オプションまたは --system オプションとともに使用することはできません。

すべての MySQL 5.6 ベースリリース

--query=string

-q

1 つ以上のクエリーオプション (属性)

すべての MySQL 5.6 ベースリリース

--host=name

ホストを指定します

すべての MySQL 5.6 ベースリリース

--type=name

ノードタイプを指定します

すべての MySQL 5.6 ベースリリース

--nodeid

--id

この ID のノードの構成を取得します

すべての MySQL 5.6 ベースリリース

--fields=string

-f

フィールド区切り文字

すべての MySQL 5.6 ベースリリース

--rows=string

-r

行区切り文字

すべての MySQL 5.6 ベースリリース

--config-file=path

config.ini ファイルへのパスを設定します

すべての MySQL 5.6 ベースリリース

--mycnf

my.cnf ファイルから構成データを読み取ります

すべての MySQL 5.6 ベースリリース

-c

--ndb-connectstring の短縮形

すべての MySQL 5.6 ベースリリース

--configinfo

すべての NDB 構成パラメータに関する情報をデフォルト値、最大値、および最小値とともにテキスト形式でダンプします。XML 出力を取得するには、--xml とともに使用します。

すべての MySQL 5.6 ベースリリース

--configinfo --xml

すべての NDB 構成パラメータのダンプをデフォルト値、最大値、および最小値とともに XML 形式で取得するには、--configinfo に -xml を使用します。

すべての MySQL 5.6 ベースリリース

--system

SYSTEM セクション情報のみを出力します。--nodes オプションまたは --connections オプションとともに使用することはできません。

すべての MySQL 5.6 ベースリリース

--config_from_node=#

この ID のノード (データノードである必要があります) から構成データを取得します。

すべての MySQL 5.6 ベースリリース


  • --usage--help、または -?

    プロパティ
    コマンド行形式

    --help

    --usage

    ndb_config が使用可能なオプションのリストを出力してから終了します。

  • --config_from_node=#

    プロパティ
    コマンド行形式 --config-from-node=#
    数値
    デフォルト none
    最小値 1
    最大値 48

    この ID を持つデータノードからクラスタの構成データを取得します。

    この ID を持つノードがデータノードではない場合、ndb_config はエラーで失敗します(代わりに、管理ノードから構成データを取得するには、単純にこのオプションを省略します)。

  • --version-V

    プロパティ
    コマンド行形式 --version

    ndb_config がバージョン情報文字列を出力してから終了します。

  • --ndb-connectstring=connect_string-c connect_string

    プロパティ
    コマンド行形式

    --ndb-connectstring=connectstring

    --connect-string=connectstring

    文字列
    デフォルト localhost:1186

    管理サーバーに接続するために使用する接続文字列を指定します。この接続文字列の形式は、セクション18.3.2.3「MySQL Cluster の接続文字列」で説明したものと同じであり、デフォルトは localhost:1186 です。

  • --config-file=path-to-file

    プロパティ
    コマンド行形式 --config-file=path
    ファイル名
    デフォルト

    管理サーバーの構成ファイル (config.ini) へのパスを指定します。これには相対パスまたは絶対パスを指定できます。ndb_config が呼び出されるホストと別のホストに管理ノードがある場合は、絶対パスを使用する必要があります。

  • --mycnf

    プロパティ
    コマンド行形式 --mycnf
    ブール
    デフォルト FALSE

    my.cnf ファイルから構成データを読み取ります。

  • --query=query-options-q query-options

    プロパティ
    コマンド行形式 --query=string
    文字列
    デフォルト

    これは、クエリーオプションのカンマ区切りのリストです。つまり、1 つ以上の返されるノード属性のリストです。これらには、id (ノード ID)、タイプ (ノードタイプ。つまり、ndbdmysqld、または ndb_mgmd)、および値が取得される構成パラメータが含まれます。

    たとえば、 --query=id,type,indexmemory,datamemory は、各ノードのノード ID、ノードタイプ、DataMemory、および IndexMemory を返します。

    注記

    指定したパラメータが特定のタイプのノードに当てはまらない場合、対応する値には空の文字列が返されます。詳細はこのセクションで後述する例を参照してください。

  • --host=hostname

    プロパティ
    コマンド行形式 --host=name
    文字列
    デフォルト

    構成情報を取得するノードのホスト名を指定します。

    注記

    ホスト名 localhost は通常、IP アドレス 127.0.0.1 に解決されますが、これはすべてのオペレーティングプラットフォームおよび構成でそうなるとはかぎりません。これは、config.inilocalhost が使用されて、localhost が別のアドレスに解決される (たとえば、一部のバージョンの SUSE Linux では、これは 127.0.0.2 です) 別のホストで ndb_config が実行されている場合、ndb_config --host=localhost が失敗することがあることを意味します。一般的に最適な結果を得るには、ホストに関連するすべての MySQL Cluster 構成値に数値 IP アドレスを使用するか、すべての MySQL Cluster ホストが localhost を同様に扱っていることを確認してください。

  • --id=node_id

    --nodeid=node_id

    プロパティ
    コマンド行形式 --ndb-nodeid=#
    数値
    デフォルト 0

    構成情報を取得するノードのノード ID を指定する場合は、これらのオプションのいずれかを使用できます。推奨される形式は --nodeid です。

  • --nodes

    プロパティ
    コマンド行形式 --nodes
    ブール
    デフォルト FALSE

    DB セクションに定義されているパラメータの情報のみを出力するように、ndb_config に通知します。このオプションは、--connections または --system と一緒に使用できません。

  • --connections

    プロパティ
    コマンド行形式 --connections
    ブール
    デフォルト FALSE

    CONNECTIONS の情報のみを出力するように、ndb_config に通知します。このオプションは、--nodes または --system と一緒に使用できません。

  • --system

    プロパティ
    コマンド行形式 --system
    ブール
    デフォルト FALSE

    SYSTEM の情報のみを出力するように ndb_config に通知します。

    このオプションは、--nodes オプションまたは --system オプションと一緒に使用できません。

  • --type=node_type

    プロパティ
    コマンド行形式 --type=name
    列挙
    デフォルト [none]
    有効な値

    ndbd

    mysqld

    ndb_mgmd

    指定した node_type のノード (ndbdmysqld、または ndb_mgmd) に該当する構成値のみが返されるように、結果をフィルタリングします。

  • --fields=delimiter-f delimiter

    プロパティ
    コマンド行形式 --fields=string
    文字列
    デフォルト

    結果のフィールドを区切るために使用される delimiter 文字列を指定します。デフォルトは , (カンマ) です。

    注記

    delimiter にスペースまたはエスケープ (改行文字の \n など) が含まれている場合は、引用符で囲む必要があります。

  • --rows=separator-r separator

    プロパティ
    コマンド行形式 --rows=string
    文字列
    デフォルト

    結果の行を区切るために使用される separator 文字列を指定します。デフォルトはスペース文字です。

    注記

    separator にスペースまたはエスケープ (改行文字の \n など) が含まれている場合は、引用符で囲む必要があります。

  • --configinfo

    --configinfo オプションを指定すると、ndb_config が属する MySQL Cluster 配布でサポートされる次の情報を含む各 MySQL Cluster 構成パラメータのリストを ndb_config がダンプします。

    • 各パラメータの目的、効果、および使用方法の簡単な説明

    • パラメータを使用できる config.ini ファイルのセクション

    • パラメータのデータ型または単位

    • 該当する場合、パラメータのデフォルト値、最小値、および最大値

    • パラメータの目的、効果、および使用方法についての簡単な説明

    • MySQL Cluster のリリースバージョンおよびビルド情報

    デフォルトでは、この出力はテキスト形式です。この出力の一部を次に示します。

    shell> ndb_config --configinfo
    
    ****** SYSTEM ******
    
    Name (String)
    Name of system (NDB Cluster)
    MANDATORY
    
    PrimaryMGMNode (Non-negative Integer)
    Node id of Primary ndb_mgmd(MGM) node
    Default: 0 (Min: 0, Max: 4294967039)
    
    ConfigGenerationNumber (Non-negative Integer)
    Configuration generation number
    Default: 0 (Min: 0, Max: 4294967039)
    
    ****** DB ******
    
    MaxNoOfSubscriptions (Non-negative Integer)
    Max no of subscriptions (default 0 == MaxNoOfTables)
    Default: 0 (Min: 0, Max: 4294967039)
    
    MaxNoOfSubscribers (Non-negative Integer)
    Max no of subscribers (default 0 == 2 * MaxNoOfTables)
    Default: 0 (Min: 0, Max: 4294967039)
    
    …

    --configinfo --xml

    プロパティ
    コマンド行形式 --configinfo --xml
    ブール
    デフォルト false

    --xml オプションを追加することによって、ndb_config --configinfo の出力を XML として取得できます。出力結果の一部を次の例に示します。

    shell> ndb_config --configinfo --xml
    
    <configvariables protocolversion="1" ndbversionstring="5.6.22-ndb-7.3.9"
                        ndbversion="458758" ndbversionmajor="7" ndbversionminor="0"
                        ndbversionbuild="6">
      <section name="SYSTEM">
        <param name="Name" comment="Name of system (NDB Cluster)" type="string"
                  mandatory="true"/>
        <param name="PrimaryMGMNode" comment="Node id of Primary ndb_mgmd(MGM) node"
                  type="unsigned" default="0" min="0" max="4294967039"/>
        <param name="ConfigGenerationNumber" comment="Configuration generation number"
                  type="unsigned" default="0" min="0" max="4294967039"/>
      </section>
      <section name="NDBD">
        <param name="MaxNoOfSubscriptions" 
                  comment="Max no of subscriptions (default 0 == MaxNoOfTables)"
                  type="unsigned" default="0" min="0" max="4294967039"/>
        <param name="MaxNoOfSubscribers" 
                  comment="Max no of subscribers (default 0 == 2 * MaxNoOfTables)"
                  type="unsigned" default="0" min="0" max="4294967039"/>
    
        …
    
      </section>
    
      …
    
    </configvariables>
    注記

    通常、ndb_config --configinfo --xml によって生成される XML 出力では 1 行に 1 要素の形式が使用されますが、上記の例および次の例では読みやすくするために空白を追加しています。ほとんどの XML プロセッサでは通常の処理として不要な空白が無視されるか、無視するように指示できるため、これによってこの出力を使用するアプリケーションに違いは生じないはずです。

    この XML 出力は、特定のパラメータが変更されたときに、--initial オプションを使用してデータノードを再起動する必要があることも示しています。これは、対応する <param> 要素に initial="true" 属性が表示されることによって示されます。また、再起動タイプ (system または node) も示されます。これは、特定のパラメータでシステムの再起動が要求される場合に、対応する <param> 要素に restart="system" 属性が表示されることによって示されます。たとえば、Diskless パラメータの値セットを変更すると、次に示されているようにシステムの初期再起動が必要となります (restart 属性および initial 属性が見やすいように強調表示されています)。

    <param name="Diskless" comment="Run wo/ disk" type="bool" default="false" 
              restart="system" initial="true"/>

    現在、初期再起動が必要ないパラメータに対応する <param> 要素の XML 出力には、initial 属性は表示されません。言い換えると、initial="false" がデフォルトであり、属性が表示されていない場合は値 false を想定してください。同様に、デフォルトの再起動タイプは node (つまり、クラスタのオンラインまたはローリング再起動) ですが、restart 属性は再起動タイプが system (すべてのクラスタノードを同時にシャットダウンしてから再起動する必要があることを意味します) である場合にのみ表示されます。

    重要

    --xml オプションは --configinfo オプションを指定した場合にのみ使用できます。--configinfo を指定せずに --xml を使用すると、エラーで失敗します。

    現在の構成データを取得するためにこのプログラムで使用されるオプションと異なり、ndb_config がコンパイルされた場合、--configinfo および --xml は MySQL Cluster ソースから取得される情報を使用します。このため、これらの 2 つのオプションの場合、実行されている MySQL Cluster に接続したり、config.ini ファイルまたは my.cnf ファイルにアクセスしたりする必要はありません。

    ほかの ndb_config オプション (--query--type など) を --configinfo または --xml と組み合わせることはサポートされていません。現在、そうしようとすると通常、--configinfo または --xml 以外のすべてのオプションが単に無視されます。ただし、この動作は保証されず、今後変更されることがあります。また、--configinfo オプションを指定して使用した場合、ndb_config は MySQL Cluster にアクセスせず、どのファイルも読み取らないため、--ndb-connectstring--config-file などの追加オプションを --configinfo と一緒に指定しようとしても意味はありません。

  1. クラスタのノード ID および各ノードのタイプを取得するには、次のようにします。

    shell> ./ndb_config --query=id,type --fields=':' --rows='\n'
    1:ndbd
    2:ndbd
    3:ndbd
    4:ndbd
    5:ndb_mgmd
    6:mysqld
    7:mysqld
    8:mysqld
    9:mysqld

    この例では、--fields オプションを使用して ID および各ノードのタイプをコロン (:) で区切り、--rows オプションを使用して各ノードの値を新しい行に出力しています。

  2. データノード、SQL ノード、および API ノードが管理サーバーに接続するために使用できる接続文字列を生成するには、次のようにします。

    shell> ./ndb_config --config-file=usr/local/mysql/cluster-data/config.ini \ 
    --query=hostname,portnumber --fields=: --rows=, --type=ndb_mgmd
    192.168.0.179:1186
  3. この ndb_config 呼び出しでは、データノードのみがチェックされ (--type オプションを使用しています)、各ノードの ID とホスト名の値、および DataMemoryIndexMemoryDataDir パラメータの値セットが表示されます。

    shell> ./ndb_config --type=ndbd --query=id,host,datamemory,indexmemory,datadir -f ' : ' -r '\n'
    1 : 192.168.0.193 : 83886080 : 18874368 : /usr/local/mysql/cluster-data
    2 : 192.168.0.112 : 83886080 : 18874368 : /usr/local/mysql/cluster-data
    3 : 192.168.0.176 : 83886080 : 18874368 : /usr/local/mysql/cluster-data
    4 : 192.168.0.119 : 83886080 : 18874368 : /usr/local/mysql/cluster-data

    この例では、短いオプション -f および -r をフィールド区切り文字および行区切り文字の設定にそれぞれ使用しました。

  4. 特定の 1 つのホスト以外のホストを結果から除外するには、--host オプションを使用します。

    shell> ./ndb_config --host=192.168.0.176 -f : -r '\n' -q id,type
    3:ndbd
    5:ndb_mgmd

    また、この例では、短い形式 -q を使用して、問い合わせる属性を指定しています。

    同様に、特定の ID のノードに結果を制限するには、--id オプションまたは --nodeid オプションを使用します。