#### 23.6.14.47 The ndbinfo nodes Table

[]()

 This table contains information on the status of data nodes. For each data node that is running in the cluster, a corresponding row in this table provides the node's node ID, status, and uptime. For nodes that are starting, it also shows the current start phase.

 The `nodes` table contains the following columns:

* `node_id`

   The data node's unique node ID in the cluster.

* `uptime`

   Time since the node was last started, in seconds.

* `status`

   Current status of the data node; see text for possible values.

* `start_phase`

   If the data node is starting, the current start phase.

* `config_generation`

   The version of the cluster configuration file in use on this data node.

##### Notes

 The `uptime` column shows the time in seconds that this node has been running since it was last started or restarted. This is a [`BIGINT`](integer-types.html) value. This figure includes the time actually needed to start the node; in other words, this counter starts running the moment that [**ndbd**](mysql-cluster-programs-ndbd.html) or [**ndbmtd**](mysql-cluster-programs-ndbmtd.html) is first invoked; thus, even for a node that has not yet finished starting, `uptime` may show a nonzero value.

 The `status` column shows the node's current status. This is one of: `NOTHING`, `CMVMI`, `STARTING`, `STARTED`, `SINGLEUSER`, `STOPPING_1`, `STOPPING_2`, `STOPPING_3`, or `STOPPING_4`. When the status is `STARTING`, you can see the current start phase in the `start_phase` column (see later in this section). `SINGLEUSER` is displayed in the `status` column for all data nodes when the cluster is in single user mode (see [Section 23.6.6, “NDB Cluster Single User Mode”](mysql-cluster-single-user-mode.html)). Seeing one of the `STOPPING` states does not necessarily mean that the node is shutting down but can mean rather that it is entering a new state. For example, if you put the cluster in single user mode, you can sometimes see data nodes report their state briefly as `STOPPING_2` before the status changes to `SINGLEUSER`.

 The `start_phase` column uses the same range of values as those used in the output of the [**ndb\_mgm**](mysql-cluster-programs-ndb-mgm.html) client [`*`node_id`* STATUS`](mysql-cluster-mgm-client-commands.html#ndbclient-status) command (see [Section 23.6.1, “Commands in the NDB Cluster Management Client”](mysql-cluster-mgm-client-commands.html)). If the node is not currently starting, then this column shows `0`. For a listing of NDB Cluster start phases with descriptions, see [Section 23.6.4, “Summary of NDB Cluster Start Phases”](mysql-cluster-start-phases.html).

 The `config_generation` column shows which version of the cluster configuration is in effect on each data node. This can be useful when performing a rolling restart of the cluster in order to make changes in configuration parameters. For example, from the output of the following [`SELECT`](select.html) statement, you can see that node 3 is not yet using the latest version of the cluster configuration (`6`) although nodes 1, 2, and 4 are doing so:

```
mysql> USE ndbinfo;
Database changed
mysql> SELECT * FROM nodes;
+---------+--------+---------+-------------+-------------------+
| node_id | uptime | status  | start_phase | config_generation |
+---------+--------+---------+-------------+-------------------+
|       1 |  10462 | STARTED |           0 |                 6 |
|       2 |  10460 | STARTED |           0 |                 6 |
|       3 |  10457 | STARTED |           0 |                 5 |
|       4 |  10455 | STARTED |           0 |                 6 |
+---------+--------+---------+-------------+-------------------+
2 rows in set (0.04 sec)
```

 Therefore, for the case just shown, you should restart node 3 to complete the rolling restart of the cluster.

 Nodes that are stopped are not accounted for in this table. Suppose that you have an NDB Cluster with 4 data nodes (node IDs 1, 2, 3 and 4), and all nodes are running normally, then this table contains 4 rows, 1 for each data node:

```
mysql> USE ndbinfo;
Database changed
mysql> SELECT * FROM nodes;
+---------+--------+---------+-------------+-------------------+
| node_id | uptime | status  | start_phase | config_generation |
+---------+--------+---------+-------------+-------------------+
|       1 |  11776 | STARTED |           0 |                 6 |
|       2 |  11774 | STARTED |           0 |                 6 |
|       3 |  11771 | STARTED |           0 |                 6 |
|       4 |  11769 | STARTED |           0 |                 6 |
+---------+--------+---------+-------------+-------------------+
4 rows in set (0.04 sec)
```

 If you shut down one of the nodes, only the nodes that are still running are represented in the output of this [`SELECT`](select.html) statement, as shown here:

```
ndb_mgm> 2 STOP
Node 2: Node shutdown initiated
Node 2: Node shutdown completed.
Node 2 has shutdown.
```

```
mysql> SELECT * FROM nodes;
+---------+--------+---------+-------------+-------------------+
| node_id | uptime | status  | start_phase | config_generation |
+---------+--------+---------+-------------+-------------------+
|       1 |  11807 | STARTED |           0 |                 6 |
|       3 |  11802 | STARTED |           0 |                 6 |
|       4 |  11800 | STARTED |           0 |                 6 |
+---------+--------+---------+-------------+-------------------+
3 rows in set (0.02 sec)
```

