The management server is the process that reads the cluster configuration file and distributes this information to all nodes in the cluster that request it. It also maintains a log of cluster activities. Management clients can connect to the management server and check the cluster's status.
All options that can be used with ndb_mgmd are shown in the following table. Additional descriptions follow the table.
Table 5.3 Command-line options used with the program ndb_mgmd
| Format | Description | Added, Deprecated, or Removed |
|---|---|---|
| Local bind address | (Supported in all NDB releases based on MySQL 8.0) |
|
| Directory containing character sets | REMOVED: 8.0.31 |
|
| Override defaults group suffix when reading cluster_config sections in my.cnf file; used in testing | ADDED: 8.0.24 |
|
| Enable management server configuration cache; true by default | (Supported in all NDB releases based on MySQL 8.0) |
|
| Specify cluster configuration file; also specify --reload or --initial to override configuration cache if present | (Supported in all NDB releases based on MySQL 8.0) |
|
| Specify cluster management server configuration cache directory | (Supported in all NDB releases based on MySQL 8.0) |
|
| Number of times to retry connection before giving up | REMOVED: 8.0.31 |
|
| Number of seconds to wait between attempts to contact management server | REMOVED: 8.0.31 |
|
| Same as --ndb-connectstring | (Supported in all NDB releases based on MySQL 8.0) |
|
| Write core file on error; used in debugging | REMOVED: 8.0.31 |
|
| Run ndb_mgmd in daemon mode (default) | (Supported in all NDB releases based on MySQL 8.0) |
|
| Read given file after global files are read | (Supported in all NDB releases based on MySQL 8.0) |
|
| Read default options from given file only | (Supported in all NDB releases based on MySQL 8.0) |
|
| Also read groups with concat(group, suffix) | (Supported in all NDB releases based on MySQL 8.0) |
|
| Display help text and exit | (Supported in all NDB releases based on MySQL 8.0) |
|
| Causes management server to reload configuration data from configuration file, bypassing configuration cache | (Supported in all NDB releases based on MySQL 8.0) |
|
| Used to install management server process as Windows service; does not apply on other platforms | (Supported in all NDB releases based on MySQL 8.0) |
|
| Run ndb_mgmd in interactive mode (not officially supported in production; for testing purposes only) | (Supported in all NDB releases based on MySQL 8.0) |
|
| Name to use when writing cluster log messages applying to this node | (Supported in all NDB releases based on MySQL 8.0) |
|
| Read given path from login file | (Supported in all NDB releases based on MySQL 8.0) |
|
| Read cluster configuration data from my.cnf file | (Supported in all NDB releases based on MySQL 8.0) |
|
| Set connect string for connecting to ndb_mgmd. Syntax: "[nodeid=id;][host=]hostname[:port]". Overrides entries in NDB_CONNECTSTRING and my.cnf | (Supported in all NDB releases based on MySQL 8.0) |
|
| Same as --ndb-connectstring | (Supported in all NDB releases based on MySQL 8.0) |
|
| Set node ID for this node, overriding any ID set by --ndb-connectstring | (Supported in all NDB releases based on MySQL 8.0) |
|
| Enable optimizations for selection of nodes for transactions. Enabled by default; use --skip-ndb-optimized-node-selection to disable | REMOVED: 8.0.31 |
|
| Do not read default options from any option file other than login file | (Supported in all NDB releases based on MySQL 8.0) |
|
| Do not perform any node ID checks | (Supported in all NDB releases based on MySQL 8.0) |
|
| Do not run ndb_mgmd as a daemon | (Supported in all NDB releases based on MySQL 8.0) |
|
| Do not wait for management nodes specified when starting this management server; requires --ndb-nodeid option | (Supported in all NDB releases based on MySQL 8.0) |
|
| Print program argument list and exit | (Supported in all NDB releases based on MySQL 8.0) |
|
| Print full configuration and exit | (Supported in all NDB releases based on MySQL 8.0) |
|
| Causes management server to compare configuration file with configuration cache | (Supported in all NDB releases based on MySQL 8.0) |
|
| Used to remove management server process that was previously installed as Windows service, optionally specifying name of service to be removed; does not apply on other platforms | (Supported in all NDB releases based on MySQL 8.0) |
|
| Do not use configuration file | (Supported in all NDB releases based on MySQL 8.0) |
|
| Display help text and exit; same as --help | (Supported in all NDB releases based on MySQL 8.0) |
|
| Write additional information to log | (Supported in all NDB releases based on MySQL 8.0) |
|
| Display version information and exit | (Supported in all NDB releases based on MySQL 8.0) |
-
Command-Line Format --bind-address=hostType String Default Value [none]Causes the management server to bind to a specific network interface (host name or IP address). This option has no default value.
-
Command-Line Format --character-sets-dir=pathRemoved 8.0.31 Directory containing character sets.
-
Command-Line Format --cluster-config-suffix=nameIntroduced 8.0.24 Type String Default Value [none]Override defaults group suffix when reading cluster configuration sections in
my.cnf; used in testing. -
Command-Line Format --config-cache[=TRUE|FALSE]Type Boolean Default Value TRUEThis option, whose default value is
1(orTRUE, orON), can be used to disable the management server's configuration cache, so that it reads its configuration fromconfig.inievery time it starts (see Section 4.3, “NDB Cluster Configuration Files”). You can do this by starting the ndb_mgmd process with any one of the following options:--config-cache=0--config-cache=FALSE--config-cache=OFF
Using one of the options just listed is effective only if the management server has no stored configuration at the time it is started. If the management server finds any configuration cache files, then the
--config-cacheoption or the--skip-config-cacheoption is ignored. Therefore, to disable configuration caching, the option should be used the first time that the management server is started. Otherwise—that is, if you wish to disable configuration caching for a management server that has already created a configuration cache—you must stop the management server, delete any existing configuration cache files manually, then restart the management server with--skip-config-cache(or with--config-cacheset equal to 0,OFF, orFALSE).Configuration cache files are normally created in a directory named
mysql-clusterunder the installation directory (unless this location has been overridden using the--configdiroption). Each time the management server updates its configuration data, it writes a new cache file. The files are named sequentially in order of creation using the following format:ndb_node-id_config.bin.seq-numbernode-idis the management server's node ID;seq-numberis a sequence number, beginning with 1. For example, if the management server's node ID is 5, then the first three configuration cache files would, when they are created, be namedndb_5_config.bin.1,ndb_5_config.bin.2, andndb_5_config.bin.3.If your intent is to purge or reload the configuration cache without actually disabling caching, you should start ndb_mgmd with one of the options
--reloador--initialinstead of--skip-config-cache.To re-enable the configuration cache, simply restart the management server, but without the
--config-cacheor--skip-config-cacheoption that was used previously to disable the configuration cache.ndb_mgmd does not check for the configuration directory (
--configdir) or attempts to create one when--skip-config-cacheis used. (Bug #13428853) --config-file=,filename-ffilenameCommand-Line Format --config-file=fileDisabled by skip-config-fileType File name Default Value [none]Instructs the management server as to which file it should use for its configuration file. By default, the management server looks for a file named
config.iniin the same directory as the ndb_mgmd executable; otherwise the file name and location must be specified explicitly.This option has no default value, and is ignored unless the management server is forced to read the configuration file, either because ndb_mgmd was started with the
--reloador--initialoption, or because the management server could not find any configuration cache. Beginning with NDB 8.0.26, ndb_mgmd refuses to start if--config-fileis specified without either of--initialor--reload.The
--config-fileoption is also read if ndb_mgmd was started with--config-cache=OFF. See Section 4.3, “NDB Cluster Configuration Files”, for more information.-
Command-Line Format --configdir=directory--config-dir=directoryType File name Default Value $INSTALLDIR/mysql-clusterSpecifies the cluster management server's configuration cache directory.
--config-diris an alias for this option.In NDB 8.0.27 and later, this must be an absolute path. Otherwise, the management server refuses to start.
-
Command-Line Format --connect-retries=#Removed 8.0.31 Type Integer Default Value 12Minimum Value 0Maximum Value 12Number of times to retry connection before giving up.
-
Command-Line Format --connect-retry-delay=#Removed 8.0.31 Type Integer Default Value 5Minimum Value 0Maximum Value 5Number of seconds to wait between attempts to contact management server.
-
Command-Line Format --connect-string=connection_stringType String Default Value [none]Same as --ndb-connectstring.
-
Command-Line Format --core-fileRemoved 8.0.31 Write core file on error; used in debugging.
--daemon,-dCommand-Line Format --daemonInstructs ndb_mgmd to start as a daemon process. This is the default behavior.
This option has no effect when running ndb_mgmd on Windows platforms.
-
Command-Line Format --defaults-extra-file=pathType String Default Value [none]Read given file after global files are read.
-
Command-Line Format --defaults-file=pathType String Default Value [none]Read default options from given file only.
-
Command-Line Format --defaults-group-suffix=stringType String Default Value [none]Also read groups with concat(group, suffix).
-
Command-Line Format --helpDisplay help text and exit.
-
Command-Line Format --initialConfiguration data is cached internally, rather than being read from the cluster global configuration file each time the management server is started (see Section 4.3, “NDB Cluster Configuration Files”). Using the
--initialoption overrides this behavior, by forcing the management server to delete any existing cache files, and then to re-read the configuration data from the cluster configuration file and to build a new cache.This differs in two ways from the
--reloadoption. First,--reloadforces the server to check the configuration file against the cache and reload its data only if the contents of the file are different from the cache. Second,--reloaddoes not delete any existing cache files.If ndb_mgmd is invoked with
--initialbut cannot find a global configuration file, the management server cannot start.When a management server starts, it checks for another management server in the same NDB Cluster and tries to use the other management server's configuration data. This behavior has implications when performing a rolling restart of an NDB Cluster with multiple management nodes. See Section 6.5, “Performing a Rolling Restart of an NDB Cluster”, for more information.
When used together with the
--config-fileoption, the cache is cleared only if the configuration file is actually found. -
Command-Line Format --install[=name]Platform Specific Windows Type String Default Value ndb_mgmdCauses ndb_mgmd to be installed as a Windows service. Optionally, you can specify a name for the service; if not set, the service name defaults to
ndb_mgmd. Although it is preferable to specify other ndb_mgmd program options in amy.iniormy.cnfconfiguration file, it is possible to use them together with--install. However, in such cases, the--installoption must be specified first, before any other options are given, for the Windows service installation to succeed.It is generally not advisable to use this option together with the
--initialoption, since this causes the configuration cache to be wiped and rebuilt every time the service is stopped and started. Care should also be taken if you intend to use any other ndb_mgmd options that affect the starting of the management server, and you should make absolutely certain you fully understand and allow for any possible consequences of doing so.The
--installoption has no effect on non-Windows platforms. -
Command-Line Format --interactiveStarts ndb_mgmd in interactive mode; that is, an ndb_mgm client session is started as soon as the management server is running. This option does not start any other NDB Cluster nodes.
-
Command-Line Format --log-name=nameType String Default Value MgmtSrvrProvides a name to be used for this node in the cluster log.
-
Command-Line Format --login-path=pathType String Default Value [none]Read given path from login file.
-
Command-Line Format --mycnfRead configuration data from the
my.cnffile. -
Command-Line Format --ndb-connectstring=connection_stringType String Default Value [none]Set connection string. Syntax:
[nodeid=. Overrides entries inid;][host=]hostname[:port]NDB_CONNECTSTRINGandmy.cnf. Ignored if--config-fileis specified; beginning with NDB 8.0.27, a warning is issued when both options are used. -
Command-Line Format --ndb-mgmd-host=connection_stringType String Default Value [none]Same as --ndb-connectstring.
-
Command-Line Format --ndb-nodeid=#Type Integer Default Value [none]Set node ID for this node, overriding any ID set by --ndb-connectstring.
--ndb-optimized-node-selectionCommand-Line Format --ndb-optimized-node-selectionRemoved 8.0.31 Enable optimizations for selection of nodes for transactions. Enabled by default; use
--skip-ndb-optimized-node-selectionto disable.-
Command-Line Format --no-nodeid-checksDo not perform any checks of node IDs.
-
Command-Line Format --nodaemonInstructs ndb_mgmd not to start as a daemon process.
The default behavior for ndb_mgmd on Windows is to run in the foreground, making this option unnecessary on Windows platforms.
-
Command-Line Format --no-defaultsDo not read default options from any option file other than login file.
-
Command-Line Format --nowait-nodes=listType Numeric Default Value [none]Minimum Value 1Maximum Value 255When starting an NDB Cluster is configured with two management nodes, each management server normally checks to see whether the other ndb_mgmd is also operational and whether the other management server's configuration is identical to its own. However, it is sometimes desirable to start the cluster with only one management node (and perhaps to allow the other ndb_mgmd to be started later). This option causes the management node to bypass any checks for any other management nodes whose node IDs are passed to this option, permitting the cluster to start as though configured to use only the management node that was started.
For purposes of illustration, consider the following portion of a
config.inifile (where we have omitted most of the configuration parameters that are not relevant to this example):[ndbd] NodeId = 1 HostName = 198.51.100.101 [ndbd] NodeId = 2 HostName = 198.51.100.102 [ndbd] NodeId = 3 HostName = 198.51.100.103 [ndbd] NodeId = 4 HostName = 198.51.100.104 [ndb_mgmd] NodeId = 10 HostName = 198.51.100.150 [ndb_mgmd] NodeId = 11 HostName = 198.51.100.151 [api] NodeId = 20 HostName = 198.51.100.200 [api] NodeId = 21 HostName = 198.51.100.201Assume that you wish to start this cluster using only the management server having node ID
10and running on the host having the IP address 198.51.100.150. (Suppose, for example, that the host computer on which you intend to the other management server is temporarily unavailable due to a hardware failure, and you are waiting for it to be repaired.) To start the cluster in this way, use a command line on the machine at 198.51.100.150 to enter the following command:$> ndb_mgmd --ndb-nodeid=10 --nowait-nodes=11As shown in the preceding example, when using
--nowait-nodes, you must also use the--ndb-nodeidoption to specify the node ID of this ndb_mgmd process.You can then start each of the cluster's data nodes in the usual way. If you wish to start and use the second management server in addition to the first management server at a later time without restarting the data nodes, you must start each data node with a connection string that references both management servers, like this:
$> ndbd -c 198.51.100.150,198.51.100.151The same is true with regard to the connection string used with any mysqld processes that you wish to start as NDB Cluster SQL nodes connected to this cluster. See Section 4.3.3, “NDB Cluster Connection Strings”, for more information.
When used with ndb_mgmd, this option affects the behavior of the management node with regard to other management nodes only. Do not confuse it with the
--nowait-nodesoption used with ndbd or ndbmtd to permit a cluster to start with fewer than its full complement of data nodes; when used with data nodes, this option affects their behavior only with regard to other data nodes.Multiple management node IDs may be passed to this option as a comma-separated list. Each node ID must be no less than 1 and no greater than 255. In practice, it is quite rare to use more than two management servers for the same NDB Cluster (or to have any need for doing so); in most cases you need to pass to this option only the single node ID for the one management server that you do not wish to use when starting the cluster.
NoteWhen you later start the “missing” management server, its configuration must match that of the management server that is already in use by the cluster. Otherwise, it fails the configuration check performed by the existing management server, and does not start.
-
Command-Line Format --print-defaultsPrint program argument list and exit.
-
Command-Line Format --print-full-configShows extended information regarding the configuration of the cluster. With this option on the command line the ndb_mgmd process prints information about the cluster setup including an extensive list of the cluster configuration sections as well as parameters and their values. Normally used together with the
--config-file(-f) option. -
Command-Line Format --reloadNDB Cluster configuration data is stored internally rather than being read from the cluster global configuration file each time the management server is started (see Section 4.3, “NDB Cluster Configuration Files”). Using this option forces the management server to check its internal data store against the cluster configuration file and to reload the configuration if it finds that the configuration file does not match the cache. Existing configuration cache files are preserved, but not used.
This differs in two ways from the
--initialoption. First,--initialcauses all cache files to be deleted. Second,--initialforces the management server to re-read the global configuration file and construct a new cache.If the management server cannot find a global configuration file, then the
--reloadoption is ignored.When
--reloadis used, the management server must be able to communicate with data nodes and any other management servers in the cluster before it attempts to read the global configuration file; otherwise, the management server fails to start. This can happen due to changes in the networking environment, such as new IP addresses for nodes or an altered firewall configuration. In such cases, you must use--initialinstead to force the existing cached configuration to be discarded and reloaded from the file. See Section 6.5, “Performing a Rolling Restart of an NDB Cluster”, for additional information. -
Command-Line Format --remove[=name]Platform Specific Windows Type String Default Value ndb_mgmdRemove a management server process that has been installed as a Windows service, optionally specifying the name of the service to be removed. Applies only to Windows platforms.
-
Command-Line Format --skip-config-fileDo not read cluster configuration file; ignore
--initialand--reloadoptions if specified. -
Command-Line Format --usageDisplay help text and exit; same as --help.
--verbose,-vCommand-Line Format --verboseRemove a management server process that has been installed as a Windows service, optionally specifying the name of the service to be removed. Applies only to Windows platforms.
-
Command-Line Format --versionDisplay version information and exit.
It is not strictly necessary to specify a connection string when starting the management server. However, if you are using more than one management server, a connection string should be provided and each node in the cluster should specify its node ID explicitly.
See Section 4.3.3, “NDB Cluster Connection Strings”, for information about using connection strings. Section 5.4, “ndb_mgmd — The NDB Cluster Management Server Daemon”, describes other options for ndb_mgmd.
The following files are created or used by
ndb_mgmd in its starting directory, and are
placed in the DataDir as
specified in the config.ini configuration
file. In the list that follows,
node_id is the unique node
identifier.
config.iniis the configuration file for the cluster as a whole. This file is created by the user and read by the management server. Chapter 4, Configuration of NDB Cluster, discusses how to set up this file.ndb_is the cluster events log file. Examples of such events include checkpoint startup and completion, node startup events, node failures, and levels of memory usage. A complete listing of cluster events with descriptions may be found in Chapter 6, Management of NDB Cluster.node_id_cluster.logBy default, when the size of the cluster log reaches one million bytes, the file is renamed to
ndb_, wherenode_id_cluster.log.seq_idseq_idis the sequence number of the cluster log file. (For example: If files with the sequence numbers 1, 2, and 3 already exist, the next log file is named using the number4.) You can change the size and number of files, and other characteristics of the cluster log, using theLogDestinationconfiguration parameter.ndb_is the file used fornode_id_out.logstdoutandstderrwhen running the management server as a daemon.ndb_is the process ID file used when running the management server as a daemon.node_id.pid