mysql ndb 测试_mysql8 参考手册-NDB群集的快速测试设置

本文介绍了如何配置一个简单的NDB集群,包括创建配置目录、配置文件、启动管理服务器及数据节点等步骤,并验证集群是否正常工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为了使您熟悉基础知识,我们将介绍功能正常的NDB群集的最简单配置。之后,您应该能够根据本章其他相关部分提供的信息来设计所需的设置。

首先,您需要/var/lib/mysql-cluster通过以系统root用户身份执行以下命令来创建配置目录(例如) :

shell>mkdir /var/lib/mysql-cluster

在此目录中,创建一个名为的文件 config.ini,其中包含以下信息。用适当的值替换您的系统HostName并DataDir根据需要替换它 。

# 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]

现在,您可以启动ndb_mgmd管理服务器。默认情况下,它尝试读取config.ini其当前工作目录中的 文件,因此将位置更改为文件所在的目录,然后调用ndb_mgmd:

shell>cd /var/lib/mysql-cluster

shell>ndb_mgmd

然后通过运行ndbd启动单个数据节点:

shell>ndbd

有关启动ndbd时可以使用的命令行选项 ,请参见 第22.4.31节“ NDB群集程序的公用选项-NDB群集程序的公用选项”。

默认情况下,ndbdlocalhost在端口1186上查找管理服务器。

注意

如果从二进制压缩包安装了MySQL,则需要明确指定ndb_mgmd和 ndbd服务器的路径。(通常,这些内容可以在中找到/usr/local/mysql/bin。)

最后,将位置更改为MySQL数据目录(通常为 /var/lib/mysql或 /usr/local/mysql/data),并确保my.cnf文件包含启用NDB存储引擎所需的选项:

[mysqld]

ndbcluster

现在,您可以照常启动MySQL服务器:

shell>mysqld_safe --user=mysql &

请稍等片刻,以确保MySQL服务器正常运行。如果您看到该通知mysql ended,请检查服务器的.err文件以找出问题所在。

如果到目前为止一切顺利,您现在就可以开始使用集群了。连接到服务器并验证NDBCLUSTER是否启用了 存储引擎:

shell> mysql

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 1 to server version: 8.0.22

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表:

shell> 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)

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

shell>ndb_mgm

从管理客户端中 使用SHOW命令来获取有关群集状态的报告:

ndb_mgm> SHOW

Cluster Configuration

---------------------

[ndbd(NDB)] 1 node(s)

id=2 @127.0.0.1 (Version: 8.0.20-ndb-8.0.20, Nodegroup: 0, *)

[ndb_mgmd(MGM)] 1 node(s)

id=1 @127.0.0.1 (Version: 8.0.20-ndb-8.0.20)

[mysqld(API)] 3 node(s)

id=3 @127.0.0.1 (Version: 8.0.20-ndb-8.0.20)

id=4 (not connected, accepting connect from any host)

id=5 (not connected, accepting connect from any host)

至此,您已经成功设置了一个正常工作的NDB集群。现在,您可以使用使用ENGINE=NDBCLUSTER或其别名ENGINE=NDB创建的任何表将数据存储在集群中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值