• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 与多个NDB群集节点有关的限制

    多个SQL节点。以下是与将多个MySQL服务器用作NDB Cluster SQL节点有关的问题,这些问题特定于NDBCLUSTER存储引擎:

    • 没有分布式表锁。 A LOCK TABLES仅适用于发出锁定的SQL节点;群集中没有其他SQL节点“看到”此锁。对于任何将表作为其操作的一部分进行锁定的语句所发出的锁定,也是如此。(有关示例,请参阅下一项。)
    • ALTER TABLE操作。ALTER TABLE运行多个MySQL服务器(SQL节点)时未完全锁定。(如前一项所述,NDB群集不支持分布式表锁。)

    多个管理节点。使用多个管理服务器时:

    • 如果任何管理服务器都在同一主机上运行,则必须在连接字符串中为节点提供显式ID,因为节点ID的自动分配不适用于同一主机上的多个管理服务器。如果每个管理服务器都位于不同的主机上,则不需要这样做。
    • 当管理服务器启动时,它首先检查同一NDB群集中是否有其他管理服务器,并且在成功连接到其他管理服务器后,将使用其配置数据。这意味着除非管理服务器是唯一运行的服务器,否则将忽略管理服务器--reload--initial启动选项。这也意味着,当对具有多个管理节点的NDB群集执行滚动重启时,如果(并且仅当)管理服务器是在此NDB群集中运行的唯一管理服务器,则管理服务器将读取其自己的配置文件。请参见“执行NDB群集的滚动重启”,了解更多信息。

    多个网络地址。每个数据节点不支持多个网络地址。使用这些容易引起问题:在数据节点发生故障的情况下,SQL节点会等待确认该数据节点已关闭,但由于到该数据节点的另一条路由仍处于打开状态而从未收到它。这可以有效地使群集无法运行。

    注意

    可以将多个网络硬件接口(例如以太网卡)用于单个数据节点,但是这些接口必须绑定到同一地址。这也意味着文件中[tcp]每个连接最多只能使用一个部分config.ini。有关更多信息,请参见“ NDB群集TCP / IP连接”。