3.5.1 将集群导入 MySQL Cluster Manager:基本步骤

导入过程通常包括以下列出的步骤:

  1. 在 MySQL 集群管理器中创建并配置一个目标 集群,其配置与 野生集群的配置相匹配。

  2. 为迁移准备wild集群。

  3. 验证集群进程的 PID 文件。

  4. 执行测试运行,然后执行import cluster命令。

这个扩展列表将刚才提到的每个任务分解为更小的步骤;清单后面还提供了一个更详细的示例。

  1. 在 MySQL 集群管理器控制下创建和配置目标”集群

    1. 安装 MySQL Cluster Manager 并在所有主机上启动mcmd ;有关详细信息,请参阅第 2.3 节,“MySQL Cluster Manager 安装”

    2. 使用命令创建包含这些主机的 MySQL Cluster Manager 站点 create site

    3. 使用命令添加引用 MySQL 集群二进制文件的 MySQL 集群管理器包add package。使用此命令的 --basedir选项指向正确的位置。

    4. 使用命令创建目标集群 create cluster,包括与野外集群相同的进程和主机。使用命令的 --import选项指定集群是导入目标。

      如果wild集群遵循 create cluster命令描述中给出的节点ID分配建议(即,将节点ID 1到48分配给数据节点,将49及以上分配给其他节点类型),则无需指定create cluster命令 中进程的节点 ID 。

      此外,此步骤可以拆分为一个 create cluster命令,然后是一个或多个 add process命令(请参阅命令描述中的此类拆分示例add process)。

    5. MySQL Cluster Manager 1.3.1 及更高版本:用于 import config将 wild 集群的配置数据复制到目标集群中。使用此命令的 --dryrun选项(缩写形式 -y:)执行测试运行,仅记录命令在没有选项的情况下执行时复制的配置信息。

      如果野生集群中的任何ndb_mgmdmysqld进程在默认端口以外的端口上运行,您必须执行set命令为目标集群中的这些端口分配正确的端口号。当所有这些进程都在正确的端口上运行时,您可以执行import config(没有--dryrun 选项)复制野生集群的配置数据。在此步骤之后,您应该检查日志以及目标集群的配置,以确保所有配置属性值都已正确复制并具有正确的范围。set使用适当的命令 更正任何与 wild 集群配置不一致的 地方。

      MySQL Cluster Manager 1.3.0:由于 import config在 MySQL Cluster Manager 1.3.1 版本之前不受支持,您必须手动将 wild 集群的配置信息复制到目标集群, 在mcmset客户端中发出命令, 将 wild 集群的配置复制到目标集群,如紧随其后的段落中所述。

      MySQL Cluster 全局配置数据存储在管理节点主机上的文件中,该文件通常(但不总是)名为config.ini. 此全局配置文件使用 INI 格式,使其易于阅读或解析。有关此文件的更多信息,请参阅NDB Cluster 配置文件NDB Cluster 配置:基本示例

      此外,每个mysqld进程(SQL 节点)都有自己的系统变量形式的配置数据,这些数据特定于该 mysqld,其中许多可以在运行时更改。您可以使用 SQLSHOW VARIABLES 语句检查它们的值,并对与 set默认值不同的值执行适当的命令。

  2. 为迁移准备wild集群

    1. 在每个 SQL 节点上创建一个名为 MySQL 的用户mcmd,并赋予该用户 root 权限。

    2. Kill each data node angel process using your system's facility for doing so. Do not kill any non-angel data node daemons.

    3. Kill and restart each management node process. When restarting ndb_mgmd, be sure to do so with the configuration cache disabled. Since the configuration cache is enabled by default, you must start the management node with --config-cache=false to deactivate it.

    4. Any cluster processes that are under the control of the system's boot-time process management facility, such as /etc/init.d on Linux systems or the Services Manager on Windows platforms, should be removed from its control.

    5. It is highly recommended that you take a complete backup of the wild cluster before proceeding any further, using the ndb_mgm client. For more information, see Using The NDB Cluster Management Client to Create a Backup.

  3. Verify cluster process PID files.

    1. Verify that each process in the wild cluster has a valid PID file.

    2. If a given process does not have a valid PID file, you must create one for it.

    See Section 3.5.2.3, “Verify All Cluster Process PID Files”, for a more detailed explanation and examples.

  4. Test and perform migration of wild cluster.

    1. import cluster使用 选项 执行建议迁移的测试运行 --dryrun,这会导致 MySQL 集群管理器检查错误,但实际上不会迁移任何进程或数据。

    2. 使用 更正发现的任何错误 --dryrun。重复上一步的试运行,以确保没有遗漏任何错误。

    3. 当试运行不再报告任何错误时,您可以使用 执行迁移import cluster,但不要使用该 --dryrun选项。