5.5.1 The get Command

get [--include-defaults|-d] [--all] [filter_specification_list] cluster_name

filter_specification_list:
    filter_specification[,filter_specification][,...]

filter_specification:
    [attribute_name][:process_specification][+process_specification]]

process_specification:
    [process_name][:process_id]

process_name:
    {ndb_mgmd|ndbd|ndbmtd|mysqld|ndbapi}

This command is used in the MySQL Cluster Manager client to obtain configuration attribute values from a MySQL NDB Cluster. (See Section 5.5, “MySQL Cluster Manager Configuration Commands”, for a definition of the term attribute as it applies in the MySQL Cluster Manager.) The output includes the following columns:

  • Name: This column contains the name of the configuration attribute.

  • Value: This column shows the attribute's current value.

  • Process1: This column holds the process type to which the attribute applies. This is one of ndb_mgmd, ndbd, ndbmtd, or mysqld.

  • Id1: This is the process ID of the process to which the attribute applies.

  • Process2: For attributes that require specifying two nodes, such as those relating to TCP/IP connections, this column shows the process type of the second node.

  • Id2: For attributes that require specifying two nodes, this column shows the process ID for the second node.

  • Level: This is the attribute process level. This value in this column can be Default, Process, or empty; if this column is empty, it means that the attribute applies on the instance level.

  • Comment: This column is used to show whether the attribute is Mandatory, Read only, Default attribute, or user defined (in which case the Comment column is empty).

By default, get returns only those attributes that have been set explicitly, either by the MySQL Cluster Manager itself, or by the user. In other words, it shows only attributes that are mandatory (including read-only attributes), or that have been set by the user after the cluster was created. Hereafter in this discussion, we refer to these as non-default attributes.

Thus, prior to setting any configuration attributes, you can obtain a list of all mandatory and read-only attributes by running the simplest possible form of this command, as shown here:

mcm> get mycluster\G
*************************** 1. row ***************************
    Name: Name
   Value: mycluster
Process1:
 NodeId1:
Process2:
 NodeId2:
   Level:
 Comment: Read only
*************************** 2. row ***************************
    Name: DataDir
   Value: /opt/mcm_data/clusters/mycluster/49/data
Process1: ndb_mgmd
 NodeId1: 49
Process2:
 NodeId2:
   Level:
 Comment:
*************************** 3. row ***************************
    Name: HostName
   Value: torsk
Process1: ndb_mgmd
 NodeId1: 49
Process2:
 NodeId2:
   Level:
 Comment: Read only
*************************** 4. row ***************************
    Name: NodeId
   Value: 49
Process1: ndb_mgmd
 NodeId1: 49
Process2:
 NodeId2:
   Level:
 Comment: Read only
*************************** 5. row ***************************
    Name: PortNumber
   Value: 1186
Process1: ndb_mgmd
 NodeId1: 49
Process2:
 NodeId2:
   Level: Process
 Comment:
*************************** 6. row ***************************
    Name: DataDir
   Value: /opt/mcm_data/clusters/mycluster/1/data
Process1: ndbmtd
 NodeId1: 1
Process2:
 NodeId2:
   Level:
 Comment:
*************************** 7. row ***************************
    Name: HostName
   Value: torsk
Process1: ndbmtd
 NodeId1: 1
Process2:
 NodeId2:
   Level:
 Comment: Read only
*************************** 8. row ***************************
    Name: NodeId
   Value: 1
Process1: ndbmtd
 NodeId1: 1
Process2:
 NodeId2:
   Level:
 Comment: Read only
*************************** 9. row ***************************
    Name: DataDir
   Value: /opt/mcm_data/clusters/mycluster/2/data
Process1: ndbmtd
 NodeId1: 2
Process2:
 NodeId2:
   Level:
 Comment:
*************************** 10. row ***************************
    Name: HostName
   Value: torsk
Process1: ndbmtd
 NodeId1: 2
Process2:
 NodeId2:
   Level:
 Comment: Read only
*************************** 11. row ***************************
    Name: NodeId
   Value: 2
Process1: ndbmtd
 NodeId1: 2
Process2:
 NodeId2:
   Level:
 Comment: Read only
*************************** 12. row ***************************
    Name: datadir
   Value: /opt/mcm_data/clusters/mycluster/50/data
Process1: mysqld
 NodeId1: 50
Process2:
 NodeId2:
   Level:
 Comment:
*************************** 13. row ***************************
    Name: default_storage_engine
   Value: ndbcluster
Process1: mysqld
 NodeId1: 50
Process2:
 NodeId2:
   Level: Process
 Comment:
*************************** 14. row ***************************
    Name: HostName
   Value: torsk
Process1: mysqld
 NodeId1: 50
Process2:
 NodeId2:
   Level:
 Comment: Read only
*************************** 15. row ***************************
    Name: ndb_nodeid
   Value: 50
Process1: mysqld
 NodeId1: 50
Process2:
 NodeId2:
   Level:
 Comment: Read only
*************************** 16. row ***************************
    Name: ndbcluster
   Value: on
Process1: mysqld
 NodeId1: 50
Process2:
 NodeId2:
   Level:
 Comment: Read only
*************************** 17. row ***************************
    Name: NodeId
   Value: 50
Process1: mysqld
 NodeId1: 50
Process2:
 NodeId2:
   Level:
 Comment: Read only
*************************** 18. row ***************************
    Name: port
   Value: 3306
Process1: mysqld
 NodeId1: 50
Process2:
 NodeId2:
   Level:
 Comment:
*************************** 19. row ***************************
    Name: socket
   Value: /tmp/mysql.mycluster.50.sock
Process1: mysqld
 NodeId1: 50
Process2:
 NodeId2:
   Level:
 Comment:
*************************** 20. row ***************************
    Name: tmpdir
   Value: /opt/mcm_data/clusters/mycluster/50/tmp
Process1: mysqld
 NodeId1: 50
Process2:
 NodeId2:
   Level:
 Comment:
*************************** 21. row ***************************
    Name: datadir
   Value: /opt/mcm_data/clusters/mycluster/51/data
Process1: mysqld
 NodeId1: 51
Process2:
 NodeId2:
   Level:
 Comment:
*************************** 22. row ***************************
    Name: default_storage_engine
   Value: ndbcluster
Process1: mysqld
 NodeId1: 51
Process2:
 NodeId2:
   Level: Process
 Comment:
*************************** 23. row ***************************
    Name: HostName
   Value: torsk
Process1: mysqld
 NodeId1: 51
Process2:
 NodeId2:
   Level:
 Comment: Read only
*************************** 24. row ***************************
    Name: ndb_nodeid
   Value: 51
Process1: mysqld
 NodeId1: 51
Process2:
 NodeId2:
   Level:
 Comment: Read only
*************************** 25. row ***************************
    Name: ndbcluster
   Value: on
Process1: mysqld
 NodeId1: 51
Process2:
 NodeId2:
   Level:
 Comment: Read only
*************************** 26. row ***************************
    Name: NodeId
   Value: 51
Process1: mysqld
 NodeId1: 51
Process2:
 NodeId2:
   Level:
 Comment: Read only
*************************** 27. row ***************************
    Name: port
   Value: 3307
Process1: mysqld
 NodeId1: 51
Process2:
 NodeId2:
   Level:
 Comment:
*************************** 28. row ***************************
    Name: socket
   Value: /tmp/mysql.mycluster.51.sock
Process1: mysqld
 NodeId1: 51
Process2:
 NodeId2:
   Level:
 Comment:
*************************** 29. row ***************************
    Name: tmpdir
   Value: /opt/mcm_data/clusters/mycluster/51/tmp
Process1: mysqld
 NodeId1: 51
Process2:
 NodeId2:
   Level:
 Comment:
*************************** 30. row ***************************
    Name: NodeId
   Value: 52
Process1: ndbapi
 NodeId1: 52
Process2:
 NodeId2:
   Level:
 Comment: Read only
30 rows in set (0.07 sec)

On Windows, no substitutions for backslashes or other characters used in values of paths reported by the get command is performed. However, it is possible to see forward slashes used in such paths if the values were set using the set command. See Setting Attributes Containing Paths on Windows, for more information.

Although a socket attribute is shown for mysqld nodes in the get output from the previous example and is not marked Read only, MySQL Cluster Manager does not support socket files on Windows. For this reason; you should not attempt to set socket attributes for Windows mysqld processes using MySQL Cluster Manager.

To include default values for attributes that have not (or not yet) been set explicitly, you can invoke this command with the --include-defaults option (short form: -d), as shown here (in part):

mcm> get --include-defaults mycluster\G
*************************** 1. row ***************************
    Name: Name
   Value: mycluster
Process1:
 NodeId1:
Process2:
 NodeId2:
   Level:
 Comment: Read only
*************************** 2. row ***************************
    Name: Checksum
   Value: false
Process1: ndb_mgmd
 NodeId1: 49
Process2: ndbmtd
 NodeId2: 1
   Level: Default
 Comment:
*************************** 3. row ***************************
    Name: Group
   Value: 55
Process1: ndb_mgmd
 NodeId1: 49
Process2: ndbmtd
 NodeId2: 1
   Level: Default
 Comment:
*************************** 4. row ***************************
    Name: HostName1
   Value: NULL
Process1: ndb_mgmd
 NodeId1: 49
Process2: ndbmtd
 NodeId2: 1
   Level: Default
 Comment:
*************************** 5. row ***************************
    Name: HostName2
   Value: NULL
Process1: ndb_mgmd
 NodeId1: 49
Process2: ndbmtd
 NodeId2: 1
   Level: Default
 Comment:
*************************** 6. row ***************************
    Name: NodeId1
   Value: NULL
Process1: ndb_mgmd
 NodeId1: 49
Process2: ndbmtd
 NodeId2: 1
   Level: Default
 Comment: Mandatory
*************************** 7. row ***************************
    Name: NodeId2
   Value: NULL
Process1: ndb_mgmd
 NodeId1: 49
Process2: ndbmtd
 NodeId2: 1
   Level: Default
 Comment: Mandatory
*************************** 8. row ***************************
    Name: NodeIdServer
   Value: NULL
Process1: ndb_mgmd
 NodeId1: 49
Process2: ndbmtd
 NodeId2: 1
   Level: Default
 Comment: Mandatory
*************************** 9. row ***************************
    Name: OverloadLimit
   Value: 0
Process1: ndb_mgmd
 NodeId1: 49
Process2: ndbmtd
 NodeId2: 1
   Level: Default
 Comment:
*************************** 10. row ***************************
    Name: Proxy
   Value: NULL
Process1: ndb_mgmd
 NodeId1: 49
Process2: ndbmtd
 NodeId2: 1
   Level: Default
 Comment:
*************************** 11. row ***************************
    Name: ReceiveBufferMemory
   Value: 2097152
Process1: ndb_mgmd
 NodeId1: 49
Process2: ndbmtd
 NodeId2: 1
   Level: Default
 Comment:
*************************** 12. row ***************************
    Name: SendBufferMemory
   Value: 2097152
Process1: ndb_mgmd
 NodeId1: 49
Process2: ndbmtd
 NodeId2: 1
   Level: Default
 Comment:
*************************** 13. row ***************************
    Name: SendSignalId
   Value: true
Process1: ndb_mgmd
 NodeId1: 49
Process2: ndbmtd
 NodeId2: 1
   Level: Default
 Comment:
*************************** 14. row ***************************
    Name: TCP_MAXSEG_SIZE
   Value: 0
Process1: ndb_mgmd
 NodeId1: 49
Process2: ndbmtd
 NodeId2: 1
   Level: Default
 Comment:

...

*************************** 1901. row ***************************
    Name: StartConnectBackoffMaxTime
   Value: 0
Process1: ndbapi
 NodeId1: 52
Process2:
 NodeId2:
   Level: Default
 Comment:
*************************** 1902. row ***************************
    Name: TotalSendBufferMemory
   Value: 0
Process1: ndbapi
 NodeId1: 52
Process2:
 NodeId2:
   Level: Default
 Comment:
*************************** 1903. row ***************************
    Name: wan
   Value: false
Process1: ndbapi
 NodeId1: 52
Process2:
 NodeId2:
   Level: Default
 Comment:
1903 rows in set (0.11 sec)

As you can see, the output from this get command is quite long (and the number of rows generated increases with the number of nodes in the cluster.) However, it is possible to filter the output so that you can view only the attribute or attributes in which you are interested. This can be done by using a comma-separated list of one or more filter specifications. A filter specification is defined as shown here (condensed from that given at the beginning of this section, but effectively the same):

[attribute_name][:[process_name][:process_id]]

Filtering can be applied per attribute, per process type, and per process instance. We now provide some examples illustrating the use of such filters.

To obtain the value of a given attribute for all processes to which it applies in the cluster, you need only use the name of the attribute as a filter. For example, to obtain the HostName of all processes in the cluster named mycluster, you can execute the command shown here:

mcm> get HostName mycluster;
+----------+----------+----------+---------+----------+---------+-------+-----------+
| Name     | Value    | Process1 | NodeId1 | Process2 | NodeId2 | Level | Comment   |
+----------+----------+----------+---------+----------+---------+-------+-----------+
| HostName | flundra  | ndbd     | 1       |          |         |       | Read only |
| HostName | tonfisk  | ndbd     | 2       |          |         |       | Read only |
| HostName | grindval | ndb_mgmd | 49      |          |         |       | Read only |
| HostName | haj      | mysqld   | 50      |          |         |       | Read only |
| HostName | torsk    | mysqld   | 51      |          |         |       | Read only |
+----------+----------+----------+---------+----------+---------+-------+-----------+
5 rows in set (0.04 sec)

The wildcard * (asterisk character) can be used to match a single or multiple attribute names; for example:

mcm> get Host* mycluster;
+----------+----------+----------+---------+----------+---------+-------+-----------+
| Name     | Value    | Process1 | NodeId1 | Process2 | NodeId2 | Level | Comment   |
+----------+----------+----------+---------+----------+---------+-------+-----------+
| HostName | flundra  | ndbd     | 1       |          |         |       | Read only |
| HostName | tonfisk  | ndbd     | 2       |          |         |       | Read only |
| HostName | grindval | ndb_mgmd | 49      |          |         |       | Read only |
| HostName | haj      | mysqld   | 50      |          |         |       | Read only |
| HostName | torsk    | mysqld   | 51      |          |         |       | Read only |
+----------+----------+----------+---------+----------+---------+-------+-----------+
5 rows in set (0.04 sec)
mcm> get H* yourcluster;
+------------------------+---------+----------+---------+----------+---------+---------+-----------+
| Name                   | Value   | Process1 | NodeId1 | Process2 | NodeId2 | Level   | Comment   |
+------------------------+---------+----------+---------+----------+---------+---------+-----------+
| HostName               | tonfisk | ndb_mgmd | 49      |          |         |         | Read only |
| HostName               | flundra | ndb_mgmd | 53      |          |         |         | Read only |
| HeartbeatIntervalDbApi | 1500    | ndbmtd   | 1       |          |         | Process |           |
| HeartbeatIntervalDbDb  | 1500    | ndbmtd   | 1       |          |         | Process |           |
| HostName               | tonfisk | ndbmtd   | 1       |          |         |         | Read only |
| HeartbeatIntervalDbApi | 1500    | ndbmtd   | 2       |          |         | Process |           |
| HeartbeatIntervalDbDb  | 1500    | ndbmtd   | 2       |          |         | Process |           |
| HostName               | flundra | ndbmtd   | 2       |          |         |         | Read only |
| HostName               | tonfisk | mysqld   | 50      |          |         |         | Read only |
| HostName               | flundra | mysqld   | 51      |          |         |         | Read only |
+------------------------+---------+----------+---------+----------+---------+---------+-----------+
10 rows in set (0.09 sec)

To obtain the value of a given attribute for all processes of a given type, you can specify a filter of the form attribute_name:process_name. The following command retrieves the HostName of all ndbd processes (only) in the cluster mycluster:

mcm> get HostName:ndbd mycluster;
+----------+---------+----------+------+----------+------+-------+----------+
| Name     | Value   | Process1 | Id1  | Process2 | Id2  | Level | Comment  |
+----------+---------+----------+------+----------+------+-------+----------+
| HostName | flundra | ndbd     | 1    |          |      |       | Readonly |
| HostName | tonfisk | ndbd     | 2    |          |      |       | Readonly |
+----------+---------+----------+------+----------+------+-------+----------+
2 rows in set (0.12 sec)

To retrieve the value of a given attribute for a particular instance of a process, you can use a filter that takes the form attribute_name:process_name:process_id. For example, you can use the following command to obtain the hostname for the process having 2 as its process ID:

mcm> get HostName:ndbd:2 mycluster;
+----------+---------+----------+------+----------+------+-------+----------+
| Name     | Value   | Process1 | Id1  | Process2 | Id2  | Level | Comment  |
+----------+---------+----------+------+----------+------+-------+----------+
| HostName | tonfisk | ndbd     | 2    |          |      |       | Readonly |
+----------+---------+----------+------+----------+------+-------+----------+
1 row in set (1.67 sec)

The command works the same if the process type is omitted:

mcm> get HostName::2 mycluster;
+----------+---------+----------+------+----------+------+-------+----------+
| Name     | Value   | Process1 | Id1  | Process2 | Id2  | Level | Comment  |
+----------+---------+----------+------+----------+------+-------+----------+
| HostName | tonfisk | ndbd     | 2    |          |      |       | Readonly |
+----------+---------+----------+------+----------+------+-------+----------+
1 row in set (1.67 sec)

You can obtain information about multiple attributes within a single get command by specifying a list of filters, separated by commas. Each filter in the list must be a complete, valid filter. The command shown here retrieves the HostName and DataDir for all processes in mycluster:

mcm> get HostName,DataDir mycluster;
+----------+--------------+----------+---------+----------+---------+-------+-----------+
| Name     | Value        | Process1 | NodeId1 | Process2 | NodeId2 | Level | Comment   |
+----------+--------------+----------+---------+----------+---------+-------+-----------+
| DataDir  | /opt/c1data  | ndbd     | 1       |          |         |       |           |
| HostName | flundra      | ndbd     | 1       |          |         |       | Read only |
| DataDir  | /opt/c2data  | ndbd     | 2       |          |         |       |           |
| HostName | tonfisk      | ndbd     | 2       |          |         |       | Read only |
| DataDir  | /opt/c49data | ndb_mgmd | 49      |          |         |       |           |
| HostName | grindval     | ndb_mgmd | 49      |          |         |       | Read only |
| datadir  | /opt/c50data | mysqld   | 50      |          |         |       |           |
| HostName | haj          | mysqld   | 50      |          |         |       | Read only |
| datadir  | /opt/c51data | mysqld   | 51      |          |         |       |           |
| HostName | torsk        | mysqld   | 51      |          |         |       | Read only |
+----------+--------------+----------+---------+----------+---------+-------+-----------+
10 rows in set (0.05 sec)

To retrieve the values of HostName and DataDir for only the data nodes in mycluster, you can use the get command shown here:

mcm> get HostName:ndbd,DataDir:ndbd mycluster;
+----------+-------------+----------+-----+----------+-----+-------+-----------+
| Name     | Value       | Process1 | Id1 | Process2 | Id2 | Level | Comment   |
+----------+-------------+----------+-----+----------+-----+-------+-----------+
| DataDir  | /opt/c2data | ndbd     | 1   |          |     |       |           |
| HostName | tonfisk     | ndbd     | 1   |          |     |       | Read only |
| DataDir  | /opt/c3data | ndbd     | 2   |          |     |       |           |
| HostName | flundra     | ndbd     | 2   |          |     |       | Read only |
+----------+-------------+----------+-----+----------+-----+-------+-----------+
4 rows in set (1.36 sec)

In the example just shown, each filter includes a process type specifier. If you omit this specifier from one of the filters, you obtain a result that you might not expect:

mcm> get HostName,DataDir:ndbd mycluster;
+----------+-------------+----------+-----+----------+-----+-------+-----------+
| Name     | Value       | Process1 | Id1 | Process2 | Id2 | Level | Comment   |
+----------+-------------+----------+-----+----------+-----+-------+-----------+
| HostName | grindval    | ndb_mgmd | 49  |          |     |       | Read only |
| DataDir  | /opt/c2data | ndbd     | 1   |          |     |       |           |
| HostName | tonfisk     | ndbd     | 1   |          |     |       | Read only |
| DataDir  | /opt/c3data | ndbd     | 2   |          |     |       |           |
| HostName | flundra     | ndbd     | 2   |          |     |       | Read only |
| HostName | haj         | mysqld   | 50  |          |     |       | Read only |
| HostName | torsk       | mysqld   | 51  |          |     |       | Read only |
+----------+-------------+----------+-----+----------+-----+-------+-----------+
6 rows in set (0.58 sec)

The filter list HostName,DataDir:ndbd is perfectly valid. However, it actually consists of the filters HostName and DataDir:ndbd—in other words, it means the HostName for all processes, and the DataDir for ndbd processes.

Suppose you wish to obtain the values for HostName for just the ndb_mgmd and mysqld processes in mycluster. You might be tempted to try using something like HostName:ndb_mgmd,mysqld for the filter list, but this does not work, as you can see here:

mcm> get HostName:ndb_mgmd,mysqld mycluster;
ERROR 6003 (00MGR): No such config variable mysqld for process

This is due to the fact that each filter in the filter list must be a valid filter, and must include an attribute name. (In the filter list just shown, MySQL Cluster Manager tries to interpret the first string following the comma as an attribute name.) The correct filter list to use in a get command for retrieving the HostName for the ndb_mgmd and mysqld processes in mycluster is shown in this example:

mcm> get HostName:ndb_mgmd,HostName:mysqld mycluster;
+----------+----------+----------+------+----------+------+-------+-----------+
| Name     | Value    | Process1 | Id1  | Process2 | Id2  | Level | Comment   |
+----------+----------+----------+------+----------+------+-------+-----------+
| HostName | grindval | ndb_mgmd | 49   |          |      |       | Read only |
| HostName | haj      | mysqld   | 50   |          |      |       | Read only |
| HostName | torsk    | mysqld   | 51   |          |      |       | Read only |
+----------+----------+----------+------+----------+------+-------+-----------+
2 rows in set (0.21 sec)

It is also possible to obtain a list of attributes and their values for a given process type or instance of a process. For a given process type, use a filter having the form :process_name. For example, to retrieve all non-default attributes applying to ndbd processes in a cluster named mycluster, you can use the filter :ndbd, as shown here:

mcm> get :ndbd mycluster;
+--------------+-------------+----------+-----+----------+-----+-------+-----------+
| Name         | Value       | Process1 | Id1 | Process2 | Id2 | Level | Comment   |
+--------------+-------------+----------+-----+----------+-----+-------+-----------+
| DataDir      | /opt/c2data | ndbd     | 1   |          |     |       |           |
| HostName     | tonfisk     | ndbd     | 1   |          |     |       | Read only |
| NodeId       | 1           | ndbd     | 1   |          |     |       | Read only |
| DataDir      | /opt/c3data | ndbd     | 2   |          |     |       |           |
| HostName     | flundra     | ndbd     | 2   |          |     |       | Read only |
| NodeId       | 2           | ndbd     | 2   |          |     |       | Read only |
+--------------+-------------+----------+-----+----------+-----+-------+-----------+
6 rows in set (0.77 sec)

(The example just shown assumes that no attributes are set to non-default values.)

To get a list of all non-default attributes for a single instance of a process, use a filter having the form :process_name:process_id, as shown in this example, which retrieves all non-default attributes for the ndbd process having 2 as its process ID:

mcm> get :ndbd:2 mycluster;
+--------------+-------------+----------+-----+----------+-----+-------+-----------+
| Name         | Value       | Process1 | Id1 | Process2 | Id2 | Level | Comment   |
+--------------+-------------+----------+-----+----------+-----+-------+-----------+
| DataDir      | /opt/c2data | ndbd     | 2   |          |     |       |           |
| HostName     | flundra     | ndbd     | 2   |          |     |       | Read only |
| NodeId       | 2           | ndbd     | 2   |          |     |       | Read only |
+--------------+-------------+----------+-----+----------+-----+-------+-----------+
4 rows in set (0.32 sec)

If you try to obtain values for an attribute that you know is supported by your MySQL NDB Cluster version, but the result is empty, this almost certainly means that it is a default attribute that either has not been changed since the cluster was created or has been reset. In order to view default attributes using get, you must execute the command using the --include-defaults option (short form: -d).

Suppose you want to see how much DataMemory is configured for the ndbd processes in the cluster named mycluster, and you execute what appears to be the correct get command, but an empty result is returned, as shown here:

mcm> get DataMemory:ndbd mycluster;
Empty set (1.19 sec)

This means that the DataMemory attribute has its default value for all data nodes in the cluster. If you do not recall what this value is, you can determine it easily by repeating the same command with the addition of the --include-defaults (-d) option:

mcm> get --include-defaults DataMemory:ndbd mycluster;
+------------+----------+----------+-----+----------+-----+---------+---------+
| Name       | Value    | Process1 | Id1 | Process2 | Id2 | Level   | Comment |
+------------+----------+----------+-----+----------+-----+---------+---------+
| DataMemory | 83886080 | ndbd     | 1   |          |     | Default |         |
| DataMemory | 83886080 | ndbd     | 2   |          |     | Default |         |
+------------+----------+----------+-----+----------+-----+---------+---------+
2 rows in set (0.62 sec)

Now suppose that you increase the DataMemory to 500 megabytes per data node, then repeat the get command to verify the new value:

mcm> set DataMemory:ndbd=500M mycluster;
+-----------------------------------+
| Command result                    |
+-----------------------------------+
| Cluster reconfigured successfully |
+-----------------------------------+
1 row in set (7.77 sec)

mcm> get --include-defaults DataMemory:ndbd mycluster;
+------------+-------+----------+-----+----------+-----+---------+---------+
| Name       | Value | Process1 | Id1 | Process2 | Id2 | Level   | Comment |
+------------+-------+----------+-----+----------+-----+---------+---------+
| DataMemory | 500M  | ndbd     | 1   |          |     | Process |         |
| DataMemory | 500M  | ndbd     | 2   |          |     | Process |         |
+------------+-------+----------+-----+----------+-----+---------+---------+
2 rows in set (1.46 sec)

You can see that, not only has the Value column in the get command output been updated to the new value, but the Level column has also been updated from Default to Process. This means that you no longer need the --include-defaults option to view this attribute, as shown here:

mcm> get DataMemory:ndbd mycluster;
+------------+-------+----------+-----+----------+-----+---------+---------+
| Name       | Value | Process1 | Id1 | Process2 | Id2 | Level   | Comment |
+------------+-------+----------+-----+----------+-----+---------+---------+
| DataMemory | 500M  | ndbd     | 1   |          |     | Process |         |
| DataMemory | 500M  | ndbd     | 2   |          |     | Process |         |
+------------+-------+----------+-----+----------+-----+---------+---------+
2 rows in set (0.63 sec)

However, if you reset DataMemory (also on the process level), this is no longer the case. Then, DataMemory once again assumes its default value, after which you must use the --include-defaults option to retrieve it, as shown in this example:

mcm> reset DataMemory:ndbd mycluster;
+-----------------------------------+
| Command result                    |
+-----------------------------------+
| Cluster reconfigured successfully |
+-----------------------------------+
1 row in set (7.65 sec)

mcm> get DataMemory:ndbd mycluster;
Empty set (1.76 sec)

mcm> get --include-defaults DataMemory:ndbd mycluster;
+------------+----------+----------+-----+----------+-----+---------+---------+
| Name       | Value    | Process1 | Id1 | Process2 | Id2 | Level   | Comment |
+------------+----------+----------+-----+----------+-----+---------+---------+
| DataMemory | 83886080 | ndbd     | 1   |          |     | Default |         |
| DataMemory | 83886080 | ndbd     | 2   |          |     | Default |         |
+------------+----------+----------+-----+----------+-----+---------+---------+
2 rows in set (1.01 sec)

For more information about these commands, see Section 5.5.3, “The set Command”, and Section 5.5.2, “The reset Command”.

The get command also tags multi-entry replication attributes as so in the Comment column; for example:

mcm> get replicate_ignore_table:mysqld mycluster;
+------------------------+--------------+----------+---------+----------+---------+---------+-------------+
| Name                   | Value        | Process1 | NodeId1 | Process2 |NodeId2  | Level   | Comment     |
+------------------------+--------------+----------+---------+----------+---------+---------+-------------+
| replicate_ignore_table | mydb.t1      | mysqld   | 50      |          |         |         | Multi-entry |
| replicate_ignore_table | mydb.t50     | mysqld   | 50      |          |         |         | Multi-entry |
| replicate_ignore_table | mydb.mytable | mysqld   | 50      |          |         | Process | Multi-entry |
| replicate_ignore_table | mydb.t51     | mysqld   | 51      |          |         |         | Multi-entry |
| replicate_ignore_table | mydb.mytable | mysqld   | 51      |          |         | Process | Multi-entry |
+------------------------+--------------+----------+---------+----------+---------+---------+-------------+
5 rows in set (0.05 sec)

On how to reset multi-entry attributes, see Section 5.5.2, “The reset Command”.

The get command does not normally display configuration attributes applying to TCP or SHM connections. However, such attributes can be set in the MySQL Cluster Manager client (using the set command); and once they have been set, they are displayed by applicable get commands. See Setting TCP Connection Attributes, which provides an example of this.

The --all option of the get command creates two extra columns, Type and Restart, in the output:

mcm> get -d --all TimeBetween*:ndbmtd mycluster;
 
+------------------------------------------+--------+----------+---------+----------+---------+---------+----------+--------------------+---------+
| Name                                     | Value  | Process1 | NodeId1 | Process2 | NodeId2 | Level   | Type     | Restart            | Comment |
+------------------------------------------+--------+----------+---------+----------+---------+---------+----------+--------------------+---------+
| TimeBetweenEpochs                        | 100    | ndbmtd   | 1       |          |         | Default | unsigned | ndb_mgmd, ndbd     |         |
| TimeBetweenEpochsTimeout                 | 0      | ndbmtd   | 1       |          |         | Default | unsigned | ndb_mgmd, ndbd     |         |
| TimeBetweenGlobalCheckpoints             | 2000   | ndbmtd   | 1       |          |         | Default | unsigned | all                |         |
| TimeBetweenGlobalCheckpointsTimeout      | 120000 | ndbmtd   | 1       |          |         | Default | unsigned | all                |         |
| TimeBetweenInactiveTransactionAbortCheck | 1000   | ndbmtd   | 1       |          |         | Default | unsigned | ndb_mgmd, ndbd     |         |
| TimeBetweenLocalCheckpoints              | 20     | ndbmtd   | 1       |          |         | Default | unsigned | ndb_mgmd, ndbd     |         |
| TimeBetweenWatchDogCheck                 | 6000   | ndbmtd   | 1       |          |         | Default | unsigned | ndb_mgmd, instance |         |
| TimeBetweenWatchDogCheckInitial          | 6000   | ndbmtd   | 1       |          |         | Default | unsigned | ndb_mgmd, instance |         |
| TimeBetweenEpochs                        | 100    | ndbmtd   | 2       |          |         | Default | unsigned | ndb_mgmd, ndbd     |         |
| TimeBetweenEpochsTimeout                 | 0      | ndbmtd   | 2       |          |         | Default | unsigned | ndb_mgmd, ndbd     |         |
| TimeBetweenGlobalCheckpoints             | 2000   | ndbmtd   | 2       |          |         | Default | unsigned | all                |         |
| TimeBetweenGlobalCheckpointsTimeout      | 120000 | ndbmtd   | 2       |          |         | Default | unsigned | all                |         |
| TimeBetweenInactiveTransactionAbortCheck | 1000   | ndbmtd   | 2       |          |         | Default | unsigned | ndb_mgmd, ndbd     |         |
| TimeBetweenLocalCheckpoints              | 20     | ndbmtd   | 2       |          |         | Default | unsigned | ndb_mgmd, ndbd     |         |
| TimeBetweenWatchDogCheck                 | 6000   | ndbmtd   | 2       |          |         | Default | unsigned | ndb_mgmd, instance |         |
| TimeBetweenWatchDogCheckInitial          | 6000   | ndbmtd   | 2       |          |         | Default | unsigned | ndb_mgmd, instance |         |
+------------------------------------------+--------+----------+---------+----------+---------+---------+----------+--------------------+---------+
16 rows in set (0.11 sec)

The Type column shows the expected type of the configuration attribute.

The Restart column shows the expected process restarts needed when changing the configuration attribute. There are three kinds of values in the column

  • all means all nodes need restarts.

  • A specific node type (ndbd, ndbmtd, ndb_mgmd, or mysqld) means all nodes of the type need restarts.

  • instance means only the process instances affected by the change need restarts.