### 23.4.1 NDB 集群的快速测试设置

[](<>)[](<>)[](<>)

为了让您熟悉基础知识，我们描述了功能 NDB Cluster 的最简单配置。在此之后，您应该能够根据本章其他相关部分中提供的信息设计所需的设置。

首先，您需要创建一个配置目录，例如`/var/lib/mysql-cluster`, 通过执行以下命令作为系统`根`用户：

```
$> mkdir /var/lib/mysql-cluster
```

在这个目录下，创建一个名为`配置文件`包含以下信息。用适当的值代替`主机名`和`数据目录`根据您的系统的需要。

```
# file "config.ini" - showing minimal setup consisting of 1 data node,
# 1 management server, and 3 MySQL servers.
# The empty default sections are not required, and are shown only for
# the sake of completeness.
# Data nodes must provide a hostname but MySQL Servers are not required
# to do so.
# If you don't know the hostname for your machine, use localhost.
# The DataDir parameter also has a default value, but it is recommended to
# set it explicitly.
# Note: [db], [api], and [mgm] are aliases for [ndbd], [mysqld], and [ndb_mgmd],
# respectively. [db] is deprecated and should not be used in new installations.

[ndbd default]
NoOfReplicas= 1

[mysqld  default]
[ndb_mgmd default]
[tcp default]

[ndb_mgmd]
HostName= myhost.example.com

[ndbd]
HostName= myhost.example.com
DataDir= /var/lib/mysql-cluster

[mysqld]
[mysqld]
[mysqld]
```

您现在可以启动[**数据库\_管理**](mysql-cluster-programs-ndb-mgmd.html)管理服务器。默认情况下，它会尝试读取`配置文件`文件在其当前工作目录中，因此将位置更改为文件所在的目录，然后调用[**数据库\_管理**](mysql-cluster-programs-ndb-mgmd.html)：

```
$> cd /var/lib/mysql-cluster
$> ndb_mgmd
```

然后通过运行启动单个数据节点[**ndbd**](mysql-cluster-programs-ndbd.html)：

```
$> ndbd
```

默认，[**ndbd**](mysql-cluster-programs-ndbd.html)在以下位置查找管理服务器`本地主机`在 1186 端口。

笔记

如果您从二进制 tarball 安装 MySQL，则必须指定[**数据库\_管理**](mysql-cluster-programs-ndb-mgmd.html)和[**ndbd**](mysql-cluster-programs-ndbd.html)服务器明确。（通常，这些可以在`/usr/local/mysql/bin`.)

最后，将位置更改为 MySQL 数据目录（通常`/var/lib/mysql`要么`/usr/local/mysql/数据`)，并确保`我的.cnf`文件包含启用 NDB 存储引擎所需的选项：

```
[mysqld]
ndbcluster
```

您现在可以像往常一样启动 MySQL 服务器：

```
$> mysqld_safe --user=mysql &
```

稍等片刻，确保 MySQL 服务器正常运行。如果你看到通知`mysql 结束`, 检查服务器的`。呃`文件以找出问题所在。

如果到目前为止一切顺利，您现在可以开始使用集群了。连接到服务器并验证[`NDBCLUSTER`](mysql-cluster.html)启用存储引擎：

```
$> mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 8.0.28

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> SHOW ENGINES\G
...
*************************** 12. row ***************************
Engine: NDBCLUSTER
Support: YES
Comment: Clustered, fault-tolerant, memory-based tables
*************************** 13. row ***************************
Engine: NDB
Support: YES
Comment: Alias for NDBCLUSTER
...
```

前面示例输出中显示的行号可能与系统上显示的行号不同，具体取决于您的服务器的配置方式。

尝试创建一个[`NDBCLUSTER`](mysql-cluster.html)桌子：

```
$> mysql
mysql> USE test;
Database changed

mysql> CREATE TABLE ctest (i INT) ENGINE=NDBCLUSTER;
Query OK, 0 rows affected (0.09 sec)

mysql> SHOW CREATE TABLE ctest \G
*************************** 1. row ***************************
       Table: ctest
Create Table: CREATE TABLE `ctest` (
  `i` int(11) default NULL
) ENGINE=ndbcluster DEFAULT CHARSET=latin1
1 row in set (0.00 sec)
```

要检查您的节点是否设置正确，请启动管理客户端：

```
$> ndb_mgm
```

[](<>)

使用**显示**来自管理客户端的命令以获取有关集群状态的报告：

```
ndb_mgm> SHOW
Cluster Configuration
---------------------
[ndbd(NDB)]     1 node(s)
id=2    @127.0.0.1  (Version: 8.0.29-ndb-8.0.29, Nodegroup: 0, *)

[ndb_mgmd(MGM)] 1 node(s)
id=1    @127.0.0.1  (Version: 8.0.29-ndb-8.0.29)

[mysqld(API)]   3 node(s)
id=3    @127.0.0.1  (Version: 8.0.29-ndb-8.0.29)
id=4 (not connected, accepting connect from any host)
id=5 (not connected, accepting connect from any host)
```

至此，您已成功设置工作 NDB Cluster 。您现在可以使用任何创建的表将数据存储在集群中`引擎=NDBCLUSTER`或其别名`引擎=NDB`.
