- 25.4.3.1 NDB 集群配置:基本示例
- 25.4.3.2 NDB 集群的推荐启动配置
- 25.4.3.3 NDB 集群连接字符串
- 25.4.3.4 在 NDB 集群中定义计算机
- 25.4.3.5 定义 NDB 集群管理服务器
- 25.4.3.6 定义 NDB 集群数据节点
- 25.4.3.7 在 NDB 集群中定义 SQL 和其他 API 节点
- 25.4.3.8 定义系统
- 25.4.3.9 MySQL 服务器选项和变量 для NDB 集群
- 25.4.3.10 NDB 集群 TCP/IP 连接
- 25.4.3.11 NDB 集群 TCP/IP 连接使用直接连接
- 25.4.3.12 NDB 集群共享内存连接
- 25.4.3.13 数据节点内存管理
- 25.4.3.14 配置 NDB 集群发送缓冲区参数
配置 NDB 集群需要使用两个文件:
-
my.cnf
:指定所有 NDB 集群可执行文件的选项。这个文件,你应该熟悉来自之前的 MySQL 工作,必须可以被集群中的每个可执行文件访问。 -
config.ini
:这个文件,有时称为 全局配置文件,仅由 NDB 集群管理服务器读取,然后将其中的信息分发给集群中的所有进程。config.ini
包含集群中每个节点的描述。这包括数据节点的配置参数和集群中所有节点之间的连接参数。有关这个文件中可能出现的部分和可能包含的配置参数的快速参考,请参阅 config.ini 文件的部分。
配置数据的缓存。 NDB
使用 有状态配置。而不是每次管理服务器重新启动时读取全局配置文件,管理服务器缓存配置第一次启动时,并且从那时起,全局配置文件仅在以下条件之一为真时读取:
-
使用 --initial 选项启动管理服务器。 当使用
--initial
时,全局配置文件被重新读取,任何现有的缓存文件被删除,并且管理服务器创建一个新的配置缓存。 -
使用 --reload 选项启动管理服务器。
--reload
选项使管理服务器将其缓存与全局配置文件进行比较。如果它们不同,管理服务器创建一个新的配置缓存;任何现有的配置缓存被保留,但不使用。如果管理服务器的缓存和全局配置文件包含相同的配置数据,那么现有的缓存被使用,不创建新的缓存。 -
使用 --config-cache=FALSE 启动管理服务器。 这禁用
--config-cache
(默认启用),并可以用于强制管理服务器完全绕过配置缓存。在这种情况下,管理服务器忽略任何可能存在的配置文件,总是从config.ini
文件中读取其配置数据。 -
没有找到配置缓存。 在这种情况下,管理服务器读取全局配置文件,并创建一个包含相同配置数据的缓存。
配置缓存文件。 管理服务器默认在 MySQL 安装目录中的 mysql-cluster
目录下创建配置缓存文件。(如果您在 Unix 系统上从源代码构建 NDB Cluster, 默认位置是 /usr/local/mysql-cluster
。)这可以在运行时通过使用 --configdir
选项来覆盖。配置缓存文件是二进制文件,名称模式为 ndb_
,其中 node_id
_config.bin.seq_id
node_id
是管理服务器在集群中的节点 ID,seq_id
是缓存标识符。缓存文件是根据 seq_id
顺序编号的,管理服务器使用最新的缓存文件。
可以通过删除后续配置缓存文件或将早期缓存文件重命名以具有更高的 seq_id
来回滚到以前的配置。然而,由于配置缓存文件是二进制格式的,因此您不应该尝试手动编辑其内容。
有关 --configdir
、--config-cache
、--initial
和 --reload
选项的更多信息,请参阅 第 25.5.4 节,“ndb_mgmd — NDB 集群管理服务器守护进程”。
我们不断改进 NDB 集群配置并尝试简化这个过程。虽然我们努力维护向后兼容性,但有时可能会引入不兼容的更改。在这种情况下,我们会尽力让 NDB 集群用户提前知道。如果您发现了这样的更改,我们没有记录,请按照 第 1.5 节,“如何报告错误或问题” 中的说明报告它。