- 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 用于 NDB 集群的 MySQL 服务器选项和变量
- 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 集群,则默认位置为 /usr/local/mysql-cluster
。)这可以在运行时通过使用 --configdir
选项启动管理服务器来覆盖。配置缓存文件是二进制文件,其命名模式为 ndb_
,其中 node_id
_config.bin.seq_id
node_id
是管理服务器在集群中的节点 ID,seq_id
是缓存标识符。缓存文件使用 seq_id
按创建顺序进行编号。管理服务器使用由 seq_id
确定的最新缓存文件。
可以通过删除后面的配置缓存文件,或者通过重命名较早的缓存文件以使其具有更高的 seq_id
来回滚到以前的配置。但是,由于配置缓存文件是以二进制格式编写的,因此您不应该尝试手动编辑其内容。
有关 NDB 集群管理服务器的 --configdir
、--config-cache
、--initial
和 --reload
选项的更多信息,请参见 第 25.5.4 节,“ndb_mgmd - NDB 集群管理服务器守护程序”。
我们正在不断改进 NDB 集群配置并尝试简化此过程。尽管我们努力保持向后兼容性,但有时可能会引入不兼容的更改。在这种情况下,如果更改不向后兼容,我们会尽量提前通知 NDB 集群用户。如果您发现此类更改并且我们没有记录,请按照 第 1.6 节,“如何报告错误或问题” 中的说明在 MySQL 错误数据库中报告。