This tool extracts current configuration information for data
nodes, SQL nodes, and API nodes from a cluster management node
(and possibly its config.ini file).
Beginning with MySQL Cluster NDB 6.3.25 and MySQL Cluster NDB
7.0.6, it can also provide an offline dump (in text or XML
format) of all configuration parameters which can be used,
along with their default, maximum, and minimum values and
other information (see the discussion of the
--configinfo and --xml
options later in this section).
The following table includes options that are specific to ndb_config. Additional descriptions follow the table. For options common to all MySQL Cluster programs, see Section 17.4.23, “Options Common to MySQL Cluster Programs”.
Table 17.12. ndb_config Command Line Options
| Format | Description | Introduction | Deprecated | Removed |
|---|---|---|---|---|
| --configinfo | Dumps information about all NDB configuration parameters in text format with default, maximum, and minimum values. Use with --xml to obtain XML output. | 5.1.34-ndb-7.0.6 | ||
| --connections | Print connection information only | |||
| --fields=string | Field separator | |||
| --host=name | Specify host | |||
| --mycnf | Read configuration data from my.cnf file | |||
| --nodeid | Get configuration of node with this ID | |||
| --nodes | Print node information only | |||
| Short form for --ndb-connectstring | 5.1.12 | |||
| --config-file=path | Set the path to config.ini file | |||
| --query=string | One or more query options (attributes) | |||
| --rows=string | Row separator | |||
| --type=name | Specify node type | |||
| --configinfo --xml | Use with --configinfo to obtain a dump of all NDB configuration parameters in XML format with default, maximum, and minimum values. | 5.1.34-ndb-7.0.6 |
| Command Line Format | --help |
|
Causes ndb_config to print a list of available options, and then exit.
| Command Line Format | -V |
|
Causes ndb_config to print a version information string, and then exit.
--ndb-connectstring=
connect_string
| Command Line Format | --ndb-connectstring=name |
|
| Permitted Values | ||
| Type | string |
|
| Default | localhost:1186 |
|
Specifies the connectstring to use in connecting to the
management server. The format for the connectstring is the
same as described in
Section 17.3.2.3, “The MySQL Cluster Connectstring”, and
defaults to localhost:1186.
The use of -c as a short version for this
option is supported for ndb_config
beginning with MySQL 5.1.12.
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.
--query=,
query-options-q
query-options
| Command Line Format | --query=string |
|
| Permitted Values | ||
| Type | string |
|
| 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
would return the node ID, node type,
DataMemory, and
IndexMemory for each node.
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.
| Command Line Format | --host=name |
|
| Permitted Values | ||
| Type | string |
|
| Default | |
|
Specifies the host name of the node for which configuration information is to be obtained.
--id=,
node_id--nodeid=
node_id
| Command Line Format | --ndb-nodeid=# |
|
| Permitted Values | ||
| Type | numeric |
|
| Default | 0 |
|
Used to specify the node ID of the node for which configuration information is to be obtained.
| Command Line Format | --nodes |
|
| Permitted Values | ||
| Type | boolean |
|
| Default | FALSE |
|
(Tells ndb_config to print information
from parameters defined in [ndbd]
sections only. Currently, using this option has no affect,
since these are the only values checked, but it may become
possible in future to query parameters set in
[tcp] and other sections of cluster
configuration files.)
| Command Line Format | --type=name |
|
| Permitted Values | ||
| Type | enumeration |
|
| Default | |
|
| Valid Values |
ndbd, 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 Values | ||
| Type | string |
|
| Default | |
|
Specifies a delimiter string
used to separate the fields in the result. The default is
“,” (the comma character).
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 Values | ||
| Type | string |
|
| Default | |
|
Specifies a separator string
used to separate the rows in the result. The default is a
space character.
If the separator contains
spaces or escapes (such as \n for the
linefeed character), then it must be quoted.
| Version Introduced | 5.1.34-ndb-7.0.6 | |
| Command Line Format | --configinfo |
|
| Permitted Values | ||
| Type | boolean |
|
| Default | false |
|
| Version Introduced | 5.1.34-ndb-7.0.6 | |
| Command Line Format | --configinfo --xml |
|
| Permitted Values | ||
| Type | boolean |
|
| Default | false |
|
The --configinfo option, added in MySQL
Cluster NDB 6.3.25 and MySQL Cluster NDB 7.0.6, 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
A brief description of the parameter's purpose, effects, and usage
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)
…
You can obtain the output as XML by using the
--xml option (also available beginning
with MySQL Cluster NDB 6.3.25 and MySQL Cluster NDB 7.0.6)
in addition to --configinfo. A portion of
the resulting output is shown in this example:
shell> ndb_config --configinfo --xml
<configvariables protocolversion="1" ndbversionstring="mysql-5.1.34 ndb-7.0.6"
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>
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. If you attempt to do so, the usual
(current) 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:
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.
To produce a connectstring 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
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, and 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.
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
Add your own comment.