Documentation Home
MySQL 5.6 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 30.9Mb
PDF (A4) - 30.9Mb
PDF (RPM) - 30.1Mb
EPUB - 7.7Mb
HTML Download (TGZ) - 7.5Mb
HTML Download (Zip) - 7.5Mb
HTML Download (RPM) - 6.5Mb
Eclipse Doc Plugin (TGZ) - 8.2Mb
Eclipse Doc Plugin (Zip) - 10.0Mb
Man Pages (TGZ) - 181.4Kb
Man Pages (Zip) - 292.4Kb
Info (Gzip) - 2.9Mb
Info (Zip) - 2.9Mb
Excerpts from this Manual

MySQL 5.6 Reference Manual  /  ...  /  ndb_config — Extract MySQL Cluster Configuration Information

18.4.7 ndb_config — Extract MySQL Cluster Configuration Information

This tool extracts current configuration information for data nodes, SQL nodes, and API nodes from one of a number of sources: a MySQL Cluster management node, or its config.ini or my.cnf file. By default, the management node is the source for the configuration data; to override the default, execute ndb_config with the --config-file or --mycnf option. It is also possible to use a data node as the source by specifying its node ID with --config_from_node=node_id.

ndb_config can also provide an offline dump of all configuration parameters which can be used, along with their default, maximum, and minimum values and other information. The dump can be produced in either text or XML format; for more information, see the discussion of the --configinfo and --xml options later in this section).

You can filter the results by section (DB, SYSTEM, or CONNECTIONS) using one of the options --nodes, --system, or --connections.

The following table includes options that are specific to ndb_config. Additional descriptions follow the table. For options common to most MySQL Cluster programs (including ndb_config), see Section 18.4.27, “Options Common to MySQL Cluster Programs — Options Common to MySQL Cluster Programs”.

Table 18.85 This table describes command-line options for the ndb_config program

Format Description Added or Removed

--nodes

Print node information ([ndbd] or [ndbd default] section of cluster configuration file) only. Cannot be used with --system or --connections.

All MySQL 5.6 based releases

--connections

Print connections information ([tcp], [tcp default], [sci], [sci default], [shm], or [shm default] sections of cluster configuration file) only. Cannot be used with --system or --nodes.

All MySQL 5.6 based releases

--query=string,

-q

One or more query options (attributes)

All MySQL 5.6 based releases

--host=name

Specify host

All MySQL 5.6 based releases

--type=name

Specify node type

All MySQL 5.6 based releases

--nodeid,

--id

Get configuration of node with this ID

All MySQL 5.6 based releases

--fields=string,

-f

Field separator

All MySQL 5.6 based releases

--rows=string,

-r

Row separator

All MySQL 5.6 based releases

--config-file=file_name

Set the path to config.ini file

All MySQL 5.6 based releases

--mycnf

Read configuration data from my.cnf file

All MySQL 5.6 based releases

-c

Short form for --ndb-connectstring

All MySQL 5.6 based releases

--configinfo

Dumps information about all NDB configuration parameters in text format with default, maximum, and minimum values. Use with --xml to obtain XML output.

All MySQL 5.6 based releases

--configinfo --xml

Use --xml with --configinfo to obtain a dump of all NDB configuration parameters in XML format with default, maximum, and minimum values.

All MySQL 5.6 based releases

--system

Print SYSTEM section information only (see ndb_config --configinfo output). Cannot be used with --nodes or --connections.

All MySQL 5.6 based releases

--config_from_node=#

Obtain configuration data from the node having this ID (must be a data node).

All MySQL 5.6 based releases


  • --usage, --help, or -?

    Command-Line Format--help
     --usage

    Causes ndb_config to print a list of available options, and then exit.

  • --config_from_node=#

    Command-Line Format--config_from_node=#
    Permitted ValuesTypenumeric
    Defaultnone
    Min Value1
    Max Value48

    Obtain the cluster's configuration data from the data node that has this ID.

    If the node having this ID is not a data node, ndb_config fails with an error. (To obtain configuration data from the management node instead, simply omit this option.)

  • --version, -V

    Command-Line Format--version

    Causes ndb_config to print a version information string, and then exit.

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

    Command-Line Format--ndb-connectstring=connectstring
     --connect-string=connectstring
    Permitted ValuesTypestring
    Defaultlocalhost:1186

    Specifies the connection string to use in connecting to the management server. The format for the connection string is the same as described in Section 18.3.3.3, “MySQL Cluster Connection Strings”, and defaults to localhost:1186.

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

    Command-Line Format--config-file=file_name
    Permitted ValuesTypefile name
    Default

    Gives the path to the management server's configuration file (config.ini). This may be a relative or absolute path. If the management node resides on a different host from the one on which ndb_config is invoked, then an absolute path must be used.

  • --mycnf

    Command-Line Format--mycnf
    Permitted ValuesTypeboolean
    DefaultFALSE

    Read configuration data from the my.cnf file.

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

    Command-Line Format--query=string
    Permitted ValuesTypestring
    Default

    This is a comma-delimited list of query options—that is, a list of one or more node attributes to be returned. These include id (node ID), type (node type—that is, ndbd, mysqld, or ndb_mgmd), and any configuration parameters whose values are to be obtained.

    For example, --query=id,type,indexmemory,datamemory returns the node ID, node type, DataMemory, and IndexMemory for each node.

    Note

    If a given parameter is not applicable to a certain type of node, than an empty string is returned for the corresponding value. See the examples later in this section for more information.

  • --host=hostname

    Command-Line Format--host=name
    Permitted ValuesTypestring
    Default

    Specifies the host name of the node for which configuration information is to be obtained.

    Note

    While the hostname localhost usually resolves to the IP address 127.0.0.1, this may not necessarily be true for all operating platforms and configurations. This means that it is possible, when localhost is used in config.ini, for ndb_config --host=localhost to fail if ndb_config is run on a different host where localhost resolves to a different address (for example, on some versions of SUSE Linux, this is 127.0.0.2). In general, for best results, you should use numeric IP addresses for all MySQL Cluster configuration values relating to hosts, or verify that all MySQL Cluster hosts handle localhost in the same fashion.

  • --id=node_id

    --nodeid=node_id

    Command-Line Format--ndb-nodeid=#
    Permitted ValuesTypenumeric
    Default0

    Either of these options can be used to specify the node ID of the node for which configuration information is to be obtained. --nodeid is the preferred form.

  • --nodes

    Command-Line Format--nodes
    Permitted ValuesTypeboolean
    DefaultFALSE

    Tells ndb_config to print information relating only to parameters defined in an [ndbd] or [ndbd default] section of the cluster configuration file (see Section 18.3.3.6, “Defining MySQL Cluster Data Nodes”).

    This option is mutually exclusive with --connections and --system; only one of these 3 options can be used.

  • --connections

    Command-Line Format--connections
    Permitted ValuesTypeboolean
    DefaultFALSE

    Tells ndb_config to print CONNECTIONS information only—that is, information about parameters found in the [tcp], [tcp default], [sci], [sci default], [shm], or [shm default] sections of the cluster configuration file (see Section 18.3.3.9, “MySQL Cluster TCP/IP Connections”, Section 18.3.3.12, “SCI Transport Connections in MySQL Cluster”, and Section 18.3.3.11, “MySQL Cluster Shared-Memory Connections”, for more information).

    This option is mutually exclusive with --nodes and --system; only one of these 3 options can be used.

  • --system

    Command-Line Format--system
    Permitted ValuesTypeboolean
    DefaultFALSE

    Tells ndb_config to print SYSTEM information only. This consists of system variables that cannot be changed at run time; thus, there is no corresponding section of the cluster configuration file for them. They can be seen (prefixed with ****** SYSTEM ******) in the output of ndb_config --configinfo.

    This option is mutually exclusive with --nodes and --connections; only one of these 3 options can be used.

  • --type=node_type

    Command-Line Format--type=name
    Permitted ValuesTypeenumeration
    Default[none]
    Valid Valuesndbd
    mysqld
    ndb_mgmd

    Filters results so that only configuration values applying to nodes of the specified node_type (ndbd, mysqld, or ndb_mgmd) are returned.

  • --fields=delimiter, -f delimiter

    Command-Line Format--fields=string
    Permitted ValuesTypestring
    Default

    Specifies a delimiter string used to separate the fields in the result. The default is , (the comma character).

    Note

    If the delimiter contains spaces or escapes (such as \n for the linefeed character), then it must be quoted.

  • --rows=separator, -r separator

    Command-Line Format--rows=string
    Permitted ValuesTypestring
    Default

    Specifies a separator string used to separate the rows in the result. The default is a space character.

    Note

    If the separator contains spaces or escapes (such as \n for the linefeed character), then it must be quoted.

  • --configinfo

    The --configinfo option causes ndb_config to dump a list of each MySQL Cluster configuration parameter supported by the MySQL Cluster distribution of which ndb_config is a part, including the following information:

    • A brief description of each parameter's purpose, effects, and usage

    • The section of the config.ini file where the parameter may be used

    • The parameter's data type or unit of measurement

    • Where applicable, the parameter's default, minimum, and maximum values

    • MySQL Cluster release version and build information

    By default, this output is in text format. Part of this output is shown here:

    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

    Command-Line Format--configinfo --xml
    Permitted ValuesTypeboolean
    Defaultfalse

    You can obtain the output of ndb_config --configinfo as XML by adding the --xml option. A portion of the resulting output is shown in this example:

    shell> ndb_config --configinfo --xml
    
    <configvariables protocolversion="1" ndbversionstring="5.6.31-ndb-7.3.15"
                        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>
    
    Note

    Normally, the XML output produced by ndb_config --configinfo --xml is formatted using one line per element; we have added extra whitespace in the previous example, as well as the next one, for reasons of legibility. This should not make any difference to applications using this output, since most XML processors either ignore nonessential whitespace as a matter of course, or can be instructed to do so.

    The XML output also indicates when changing a given parameter requires that data nodes be restarted using the --initial option. This is shown by the presence of an initial="true" attribute in the corresponding <param> element. In addition, the restart type (system or node) is also shown; if a given parameter requires a system restart, this is indicated by the presence of a restart="system" attribute in the corresponding <param> element. For example, changing the value set for the Diskless parameter requires a system initial restart, as shown here (with the restart and initial attributes highlighted for visibility):

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

    Currently, no initial attribute is included in the XML output for <param> elements corresponding to parameters which do not require initial restarts; in other words, initial="false" is the default, and the value false should be assumed if the attribute is not present. Similarly, the default restart type is node (that is, an online or rolling restart of the cluster), but the restart attribute is included only if the restart type is system (meaning that all cluster nodes must be shut down at the same time, then restarted).

    Beginning with MySQL Cluster NDB 7.4.7, deprecated parameters are indicated in the XML output with the addition of a deprecated attribute, as shown here:

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

    In such cases, the comment refers to one or more parameters that supersede the deprecated parameter. Similarly to initial, the deprecated attribute is indicated only when the parameter is deprecated, with deprecated="true", and does not appear at all for parameters which are not deprecated. (Bug #21127135)

    Important

    The --xml option can be used only with the --configinfo option. Using --xml without --configinfo fails with an error.

    Unlike the options used with this program to obtain current configuration data, --configinfo and --xml use information obtained from the MySQL Cluster sources when ndb_config was compiled. For this reason, no connection to a running MySQL Cluster or access to a config.ini or my.cnf file is required for these two options.

    Combining other ndb_config options (such as --query or --type) with --configinfo or --xml is not supported. Currently, if you attempt to do so, the usual result is that all other options besides --configinfo or --xml are simply ignored. However, this behavior is not guaranteed and is subject to change at any time. In addition, since ndb_config, when used with the --configinfo option, does not access the MySQL Cluster or read any files, trying to specify additional options such as --ndb-connectstring or --config-file with --configinfo serves no purpose.

Examples

  1. To obtain the node ID and type of each node in the cluster:

    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
    

    In this example, we used the --fields options to separate the ID and type of each node with a colon character (:), and the --rows options to place the values for each node on a new line in the output.

  2. To produce a connection string that can be used by data, SQL, and API nodes to connect to the management server:

    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. This invocation of ndb_config checks only data nodes (using the --type option), and shows the values for each node's ID and host name, as well as the values set for its DataMemory, IndexMemory, and DataDir parameters:

    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
    

    In this example, we used the short options -f and -r for setting the field delimiter and row separator, respectively.

  4. To exclude results from any host except one in particular, use the --host option:

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

    In this example, we also used the short form -q to determine the attributes to be queried.

    Similarly, you can limit results to a node with a specific ID using the --id or --nodeid option.


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