MySQL 8.0 リファレンスマニュアル


MySQL 8.0 リファレンスマニュアル  /  ...  /  ndb_config — NDB Cluster 構成情報の抽出

23.4.7 ndb_config — NDB Cluster 構成情報の抽出

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

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

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

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

表 23.29 プログラムで使用されるコマンドライン・オプション ndb_config

形式 説明 追加、非推奨、または削除された

--cluster-config-suffix=name

my.cnf ファイルの cluster_config セクションの読取り時にデフォルトのグループサフィクスをオーバーライドします。テストで使用されます

追加: NDB 8.0.24

--config-file=file_name

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

(MySQLに基づくすべてのNDBリリースでサポート 8.0)

--config-from-node=#

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

(MySQLに基づくすべてのNDBリリースでサポート 8.0)

--configinfo

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

(MySQLに基づくすべてのNDBリリースでサポート 8.0)

--connections

接続情報 ([tcp]、[tcp default]、[sci]、[sci default]、[shm]、またはクラスタ構成ファイルの[shm default]セクション) のみを出力します。 --system または --nodes とともには使用できません

(MySQLに基づくすべてのNDBリリースでサポート 8.0)

--diff-default

デフォルト以外の値を持つ構成パラメータのみ出力

(MySQLに基づくすべてのNDBリリースでサポート 8.0)

--fields=string,

-f

フィールド区切り文字

(MySQLに基づくすべてのNDBリリースでサポート 8.0)

--host=name

ホストを指定します

(MySQLに基づくすべてのNDBリリースでサポート 8.0)

--mycnf

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

(MySQLに基づくすべてのNDBリリースでサポート 8.0)

--nodeid

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

(MySQLに基づくすべてのNDBリリースでサポート 8.0)

--nodes

ノード情報 ([ndbd]またはクラスタ構成ファイルの[ndbd default]セクション) のみを出力します。 --system または --connections とともには使用できません

(MySQLに基づくすべてのNDBリリースでサポート 8.0)

-c

--ndb-connectstring の短縮形

(MySQLに基づくすべてのNDBリリースでサポート 8.0)

--query=string,

-q

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

(MySQLに基づくすべてのNDBリリースでサポート 8.0)

--query-all,

-a

すべてのパラメータと値を単一のカンマ区切り文字列にダンプ

(MySQLに基づくすべてのNDBリリースでサポート 8.0)

--rows=string,

-r

行区切り文字

(MySQLに基づくすべてのNDBリリースでサポート 8.0)

--system

「SYSTEM の印刷」セクション情報のみ (ndb_config --configinfo の出力を参照)。 --nodes または --connections とともには使用できません

(MySQLに基づくすべてのNDBリリースでサポート 8.0)

--type=name

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

(MySQLに基づくすべてのNDBリリースでサポート 8.0)

--configinfo --xml

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

(MySQLに基づくすべてのNDBリリースでサポート 8.0)


  • cluster-config-suffix

    コマンド行形式 --cluster-config-suffix=name
    導入 8.0.24-ndb-8.0.24
    文字列
    デフォルト値 [none]

    my.cnf でクラスタ構成セクションを読み取るときに、デフォルトのグループサフィクスをオーバーライドします。テストで使用されます。

  • --configinfo

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

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

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

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

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

    • NDB 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)
    
    …

    このオプションを --xml オプションとともに使用して、XML 形式で出力を取得します。

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

    コマンド行形式 --config-file=file_name
    ファイル名
    デフォルト値

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

  • --config_from_node=#

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

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

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

  • --connections

    コマンド行形式 --connections
    Boolean
    デフォルト値 FALSE

    CONNECTIONS 情報のみ (クラスタ構成ファイルの[tcp], [tcp default], [shm]または[shm default]セクションにあるパラメータに関する情報) を出力するように ndb_config に指示します (詳細は、セクション23.3.3.10「NDB Cluster TCP/IP 接続」 および セクション23.3.3.12「NDB Cluster の共有メモリー接続」 を参照)。

    このオプションは、--nodes および --system と相互に排他的です。これらの 3 つのオプションのいずれかのみを使用できます。

  • --diff-default

    コマンド行形式 --diff-default
    Boolean
    デフォルト値 FALSE

    デフォルト以外の値を持つ構成パラメータのみを出力します。

  • --fields=delimiter, -f delimiter

    コマンド行形式 --fields=string
    文字列
    デフォルト値

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

    注記

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

  • --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 が失敗することがあることを意味します。 一般に、最良の結果を得るには、ホストに関連するすべての NDB Cluster 構成値に数値の IP アドレスを使用するか、すべての NDB Cluster ホストが同じ方法で localhost を処理することを確認するようにしてください。

  • --mycnf

    コマンド行形式 --mycnf
    Boolean
    デフォルト値 FALSE

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

  • --ndb-connectstring=connection_string, -c connection_string

    コマンド行形式

    --ndb-connectstring=connectstring

    --connect-string=connectstring

    文字列
    デフォルト値 localhost:1186

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

  • --nodeid=node_id

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

    構成情報を取得するノードのノード ID を指定します。

  • --nodes

    コマンド行形式 --nodes
    Boolean
    デフォルト値 FALSE

    クラスタ構成ファイルの[ndbd]または[ndbd default]セクションで定義されたパラメータにのみ関連する情報を出力するように ndb_config に指示します (セクション23.3.3.6「NDB Cluster データノードの定義」 を参照)。

    このオプションは、--connections および --system と相互に排他的です。これらの 3 つのオプションのいずれかのみを使用できます。

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

    コマンド行形式 --query=string
    文字列
    デフォルト値

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

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

    注記

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

  • --query-all, -a

    コマンド行形式 --query-all
    文字列
    デフォルト値

    すべてのクエリーオプション (ノード属性) のカンマ区切りリストを返します。このリストは単一の文字列であることに注意してください。

  • --rows=separator, -r separator

    コマンド行形式 --rows=string
    文字列
    デフォルト値

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

    注記

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

  • --system

    コマンド行形式 --system
    Boolean
    デフォルト値 FALSE

    SYSTEM の情報のみを出力するように ndb_config に通知します。 これは、実行時に変更できないシステム変数で構成されているため、クラスタ構成ファイルに対応するセクションはありません。 これらは、ndb_config --configinfo の出力に表示されます (****** SYSTEM ****** という接頭辞が付いています)。

    このオプションは、--nodes および --connections と相互に排他的です。これらの 3 つのオプションのいずれかのみを使用できます。

  • --type=node_type

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

    ndbd

    mysqld

    ndb_mgmd

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

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

    コマンド行形式

    --help

    --usage

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

  • --version, -V

    コマンド行形式 --version

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

  • --configinfo --xml

    コマンド行形式 --configinfo --xml
    Boolean
    デフォルト値 false

    このオプションを追加して、ndb_config --configinfo が XML として出力を提供するようにします。 このような出力の一部を次の例に示します:

    shell> ndb_config --configinfo --xml
    
    <configvariables protocolversion="1" ndbversionstring="5.7.33-ndb-7.5.21"
                        ndbversion="460032" ndbversionmajor="7" ndbversionminor="5"
                        ndbversionbuild="0">
      <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="MYSQLD" primarykeys="NodeId">
        <param name="wan" comment="Use WAN TCP setting as default" type="bool"
                  default="false"/>
        <param name="HostName" comment="Name of computer for this node"
                  type="string" default=""/>
        <param name="Id" comment="NodeId" type="unsigned" mandatory="true"
                  min="1" max="255" deprecated="true"/>
        <param name="NodeId" comment="Number identifying application node (mysqld(API))"
                  type="unsigned" mandatory="true" min="1" max="255"/>
        <param name="ExecuteOnComputer" comment="HostName" type="string"
                  deprecated="true"/>
    
        …
    
      </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 (すべてのクラスタノードを同時にシャットダウンしてから再起動する必要があることを意味します) である場合にのみ表示されます。

    非推奨のパラメータは、次に示すように、deprecated 属性によって XML 出力に示されます:

    <param name="NoOfDiskPagesToDiskAfterRestartACC" comment="DiskCheckpointSpeed"
           type="unsigned" default="20" min="1" max="4294967039" deprecated="true"/>

    このような場合、comment は、非推奨のパラメータよりも優先される 1 つ以上のパラメータを参照します。 initial と同様に、deprecated 属性は、パラメータが deprecated="true"で非推奨の場合にのみ示され、非推奨ではないパラメータにはまったく表示されません。 (Bug #21127135)

    NDB 7.5.0 以降では、次に示すように、必要なパラメータは mandatory="true"で示されます:

    <param name="NodeId"
              comment="Number identifying application node (mysqld(API))"
              type="unsigned" mandatory="true" min="1" max="255"/>

    initial または deprecated 属性は、初期再起動が必要なパラメータまたは非推奨のパラメータに対してのみ表示されるのとほぼ同じ方法で、mandatory 属性は、指定されたパラメータが実際に必要な場合にのみ含まれます。

    重要

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

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

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

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

    shell> ./ndb_config --query=nodeid,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
    198.51.100.179:1186
  3. このように ndb_config を起動すると、(--type オプションを使用して) データノードのみがチェックされ、各ノード ID とホスト名の値、およびその DataMemoryDataDir パラメータに設定された値が表示されます:

    shell> ./ndb_config --type=ndbd --query=nodeid,host,datamemory,datadir -f ' : ' -r '\n'
    1 : 198.51.100.193 : 83886080 : /usr/local/mysql/cluster-data
    2 : 198.51.100.112 : 83886080 : /usr/local/mysql/cluster-data
    3 : 198.51.100.176 : 83886080 : /usr/local/mysql/cluster-data
    4 : 198.51.100.119 : 83886080 : /usr/local/mysql/cluster-data

    この例では、短いオプションの -f および -r を使用してフィールドデリミタと行セパレータをそれぞれ設定し、短いオプションの -q を使用して取得するパラメータのリストを渡しています。

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

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

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

    同様に、--nodeid オプションを使用して、特定の ID を持つノードに結果を制限できます。


関連キーワード:  NDB, ndb, テーブル, ノード, ndbinfo, 構成, パラメータ, 出力, データ, 形式