文档首页
MySQL 8.4 参考手册
相关文档 下载本手册
PDF (美国信纸) - 39.9Mb
PDF (A4) - 40.0Mb
手册页 (TGZ) - 258.5Kb
手册页 (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 参考手册  /  ...  /  NDB Cluster 配置:基本示例

25.4.3.1 NDB Cluster 配置:基本示例

为了支持 NDB Cluster,您应该更新 my.cnf,如以下示例所示。您也可以在调用可执行文件时在命令行上指定这些参数。

注意

此处显示的选项不应与 config.ini 全局配置文件中使用的选项混淆。全局配置选项将在本节后面讨论。

# my.cnf
# example additions to my.cnf for NDB Cluster
# (valid in MySQL 8.4)

# enable ndbcluster storage engine, and provide connection string for
# management server host (default port is 1186)
[mysqld]
ndbcluster
ndb-connectstring=ndb_mgmd.mysql.com


# provide connection string for management server host (default port: 1186)
[ndbd]
connect-string=ndb_mgmd.mysql.com

# provide connection string for management server host (default port: 1186)
[ndb_mgm]
connect-string=ndb_mgmd.mysql.com

# provide location of cluster configuration file
# IMPORTANT: When starting the management server with this option in the
# configuration file, the use of --initial or --reload on the command line when
# invoking ndb_mgmd is also required.
[ndb_mgmd]
config-file=/etc/config.ini

(有关连接字符串的更多信息,请参见 第 25.4.3.3 节,“NDB Cluster 连接字符串”。)

# my.cnf
# example additions to my.cnf for NDB Cluster
# (works on all versions)

# enable ndbcluster storage engine, and provide connection string for management
# server host to the default port 1186
[mysqld]
ndbcluster
ndb-connectstring=ndb_mgmd.mysql.com:1186
重要

启动了 mysqld 进程,在 my.cnf 文件中的 [mysqld] 中包含 NDBCLUSTERndb-connectstring 参数后,您不能执行任何 CREATE TABLEALTER TABLE 语句,而没有实际启动集群。否则,这些语句将以错误失败。这是设计使然.

您也可以在集群 my.cnf 文件中使用单独的 [mysql_cluster] 部分来设置所有可执行文件都可以读取和使用的设置

# cluster-specific settings
[mysql_cluster]
ndb-connectstring=ndb_mgmd.mysql.com:1186

有关可以在 my.cnf 文件中设置的其他 NDB 变量,请参见 第 25.4.3.9.2 节,“NDB Cluster 系统变量”

NDB Cluster 全局配置文件按照惯例命名为 config.ini(但这不是必需的)。如果需要,它会在启动时由 ndb_mgmd 读取,并且可以放置在 ndb_mgmd 可以读取的任何位置。配置的位置和名称使用 --config-file=path_name 在命令行上指定 ndb_mgmd。此选项没有默认值,如果 ndb_mgmd 使用配置缓存,则会忽略该选项。

NDB Cluster 的全局配置文件使用 INI 格式,它由以节标题(用方括号括起来)开头的节组成,后面跟着相应的参数名称和值。与标准 INI 格式的一个偏差是参数名称和值可以使用冒号 (:) 以及等号 (=) 分隔;但是,建议使用等号。另一个偏差是节没有通过节名称唯一标识。相反,唯一节(例如两种不同类型节点)通过在节中指定的唯一 ID 标识。

大多数参数都定义了默认值,也可以在 config.ini 中指定。要创建默认值节,只需在节名称中添加单词 default 即可。例如,[ndbd] 节包含适用于特定数据节点的参数,而 [ndbd default] 节包含适用于所有数据节点的参数。假设所有数据节点都应使用相同的数据内存大小。要配置所有数据节点,请创建一个 [ndbd default] 节,其中包含一个 DataMemory 行以指定数据内存大小。

如果使用,[ndbd default] 节必须位于配置文件中的任何 [ndbd] 节之前。对于任何其他类型的 default 节也是如此。

注意

在 NDB Cluster 的一些早期版本中,NoOfReplicas 没有默认值,必须在 [ndbd default] 节中显式指定。虽然此参数现在具有默认值 2(这是大多数常用使用场景中的推荐设置),但仍然建议您显式设置此参数。

全局配置文件必须定义集群中涉及的计算机和节点,以及这些节点位于哪些计算机上。以下示例展示了一个简单配置文件,该配置文件包含一个管理服务器、两个数据节点和两个 MySQL 服务器。

# file "config.ini" - 2 data nodes and 2 SQL nodes
# This file is placed in the startup directory of ndb_mgmd (the
# management server)
# The first MySQL Server can be started from any host. The second
# can be started only on the host mysqld_5.mysql.com

[ndbd default]
NoOfReplicas= 2
DataDir= /var/lib/mysql-cluster

[ndb_mgmd]
Hostname= ndb_mgmd.mysql.com
DataDir= /var/lib/mysql-cluster

[ndbd]
HostName= ndbd_2.mysql.com

[ndbd]
HostName= ndbd_3.mysql.com

[mysqld]
[mysqld]
HostName= mysqld_5.mysql.com
注意

以上示例旨在作为 NDB Cluster 的最小起始配置,以用于熟悉 NDB Cluster,几乎肯定不足以用于生产环境。请参见 第 25.4.3.2 节,“NDB Cluster 的推荐起始配置”,其中提供了一个更完整的起始配置示例。

每个节点在 config.ini 文件中都有自己的节。例如,此集群有两个数据节点,因此前面的配置文件包含两个 [ndbd] 节,用于定义这些节点。

注意

不要在 config.ini 文件中节标题所在的同一行放置注释;这会导致管理服务器无法启动,因为它在这种情况下无法解析配置文件。

config.ini 文件的节

config.ini 配置文件中,您可以使用六个不同的节,如下列所述

您可以为每个节定义 default 值。如果使用,default 节应出现在任何其他相同类型节之前。例如,[ndbd default] 节应出现在配置文件中的任何 [ndbd] 节之前。

NDB Cluster 参数名称不区分大小写,除非在 MySQL Server my.cnfmy.ini 文件中指定。