为了支持NDB集群,必须进行更新my.cnf
如下例所示。在调用可执行程序时,还可以在命令行上指定这些参数。
中使用的选项不应与此处显示的选项混淆config.ini
全局配置文件。本节稍后将讨论全局配置选项。
#为管理服务器主机提供连接字符串(默认端口为1186)[mysqld] ndbcluster NDB -connectstring=ndb_mgmd.mysql.com #为管理服务器主机提供连接字符串(默认端口:1186)[ndbd] connect-string=ndb_mgmd.mysql.com #为管理服务器主机提供连接字符串(默认端口:1186)[ndbd] connect-string=ndb_mgmd.mysql.com #为管理服务器主机提供连接字符串(默认端口:10bet靠谱1186)[ndb_mgmd] connect-string=ndb_mgmd.mysql10bet靠谱.com #提供集群配置文件的位置#重要:当在#配置文件中使用此选项启动管理服务器时,#调用ndb_mgmd时也需要在命令行上使用——initial或——reload。(ndb_mgmd)配置文件= / etc / config.ini
(有关连接字符串的更多信息,请参见第21.4.3.3节“NDB集群连接字符串”)。
#(适用于所有版本)#启用ndbcluster存储引擎,并为管理#服务器主机提供默认端口1186的连接字符串[mysqld] ndbcluster NDB -connectstring=ndb_mgmd.mysql.com:118610bet靠谱
一旦你开始了mysqld过程与NDBCLUSTER
而且ndb-connectstring
参数(mysqld)
在my.cnf
文件,您不能执行任何创建表
或ALTER TABLE
语句,而无需实际启动集群。否则,这些语句将失败并出现错误。这是设计好的.
你也可以使用单独的(mysql_cluster)
集群中的Sectionmy.cnf
设置文件将被所有可执行程序读取和使用:
[mysql_cluster] ndb-connectstring=ndb_mgmd.mysql.com:118610bet靠谱
额外的NDB
中可以设置的变量my.cnf
文件的更多信息,请参考第21.4.3.9.2节“NDB集群系统变量”.
NDB集群全局配置文件按约定命名config.ini
(但这不是必需的)。如果需要,它由ndb_mgmd在启动时,并可以放置在任何位置,可以被它读取。使用指定配置的位置和名称——配置文件=
与ndb_mgmd在命令行上。该选项没有默认值,如果ndb_mgmd使用配置缓存。path_name
NDB集群的全局配置文件采用INI格式,由前面的节和节标题(方括号包围),后面是适当的参数名称和值组成。与标准INI格式的一个偏差是参数名和值可以用冒号分隔(:
)以及等号(=
);但是,优先使用等号。另一个偏差是节不是由节名唯一标识的。相反,唯一的节(例如相同类型的两个不同节点)由作为节内参数指定的唯一ID标识。
为大多数参数定义了默认值,也可以在config.ini
.要创建默认值部分,只需添加单词默认的
到节名。例如,一个(ndbd)
节包含应用于特定数据节点的参数,而(ndbd违约)
节包含应用于所有数据节点的参数。假设所有数据节点都应该使用相同的数据内存大小。要配置所有这些,请创建一个(ndbd违约)
部分,其中包含DataMemory
行指定数据内存大小。
如果使用,(ndbd违约)
Section必须在any之前(ndbd)
节。这也适用于默认的
任何其他类型的节。
在一些旧版本的NDB Cluster中,没有默认值NoOfReplicas
中的显式指定(ndbd违约)
部分。尽管该参数现在的默认值为2,这是大多数常见使用场景中的推荐设置,但仍然建议显式设置该参数。
全局配置文件必须定义集群中涉及的计算机和节点,以及这些节点位于哪些计算机上。下面是一个由一个管理服务器、两个数据节点和两个MySQL服务器组成的集群的简单配置文件示例:
# file "config.ini" - 2个数据节点和2个SQL节点#该文件放在ndb_mgmd(#管理服务器)的启动目录中#第一个MySQL服务器可以从任何主机启动。第二个#只能在主机上启动mysqld_5.mysql.com [ndbd default] NoOfRepl10bet靠谱icas= 2 DataDir= /var/lib/mysql-cluster [ndb_mgmd] Hostname= ndbd_2.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,上面的示例是一个最小的启动配置,几乎肯定不能满足生产设置。看到第21.4.3.2节“NDB集群推荐启动配置”,它提供了一个更完整的启动配置示例。
中的每个节点都有自己的部分config.ini
文件。例如,该集群有两个数据节点,因此前面的配置文件包含两个(ndbd)
定义这些节点的节。
不要将注释放在与config.ini
文件;这将导致管理服务器无法启动,因为在这种情况下它无法解析配置文件。
config.ini文件的部分
有六个不同的部分,你可以在config.ini
配置文件,如下表所示:
(计算机)
:定义集群主机。这不是配置一个可行的NDB集群所必需的,但在设置一个大型集群时可以作为一种方便。看到第21.4.3.4节“定义NDB集群中的计算机”,以查询更多资料。(ndbd)
:定义一个集群数据节点(ndbd过程)。看到第21.4.3.6节“定义NDB集群数据节点”的细节。(mysqld)
:定义集群的MySQL服务器节点(也称为SQL或API节点)。有关SQL节点配置的讨论,请参见第21.4.3.7节“在NDB集群中定义SQL和其他API节点”.(mgm)
或(ndb_mgmd)
:定义MGM (cluster management server)节点。有关管理节点配置的信息,请参见第21.4.3.5节“定义新db集群管理服务器”.(tcp)
:定义集群节点间的TCP/IP连接,默认传输协议为TCP/IP。通常情况下,(tcp)
或(tcp违约)
部分不需要建立NDB集群,因为集群会自动处理;但是,在某些情况下可能需要覆盖集群提供的默认值。看到第21.4.3.10节“NDB集群TCP/IP连接”浏览有关可用的TCP/IP配置参数及其使用方法的资料。(你可能还会发现第21.4.3.11节“使用直接连接的NDB集群TCP/IP连接”在某些情况下是有趣的。)(shm)
:定义节点间的共享内存连接。在MySQL 5.7中,它在默认情况下是启用的,但仍然应该被认为是实验性的。有关SHM互连的讨论,请参见第21.4.3.12节“NDB集群共享内存连接”.(sci)
:定义集群数据节点间可伸缩的一致性接口连接。NDB 7.5或7.6中不支持。
您可以定义默认的
每个部分的值。如果使用,默认的
节应该出现在该类型的任何其他节之前。例如,一个(ndbd违约)
段应该出现在配置文件中(ndbd)
部分。
NDB集群的参数名称不区分大小写,除非在MySQL Server中指定my.cnf
或my.ini
文件。