MySQL集群数据节点替换

时间:2012-02-28 07:49:09

标签: mysql cluster-computing

我有一个MySQL集群,其中包含2个数据存储节点,运行时间为2年。

就在最近,我发现其中一个节点(数据存储)存在硬件问题。我可能需要用新的节点替换这个节点。

如果有人可以提出最佳方法,那将会很棒。我试图阻止在此过程中丢失任何数据。如果我不使用与其他节点中安装的相同的mysql版本,那可以。

1 个答案:

答案 0 :(得分:3)

当群集仍处于联机状态时,交换数据节点应该没有问题。

如果您希望运行替换数据节点的主机使用当前要替换的服务器使用的IP地址,则只需停止该数据节点(使用ndb_mgm命令),使用该IP配置新主机地址然后启动它(连接到现有的管理节点)。

如果您希望新主机具有不同的IP地址,服务器上的硬件问题的数据节点仍然有效,那么您可以执行以下操作:

  1. 编辑configi.ini文件以更改正为
    的数据节点的IP地址 迁移
  2. 重启(使用--initial选项)所有管理节点 - 不会导致中断
  3. 重新启动'健康'数据节点(不使用--initial选项!)
  4. 停止'不健康'数据节点
  5. 启动新数据节点并等待其加入群集
  6. 按顺序重启每个API节点(mysqld)
  7. 请注意,我没有对此进行测试,因此我强烈建议您先在非生产环境中进行测试(当然,在实际使用之前备份您的生产数据库)。

    可以在不同版本的软件上运行节点,但这通常只在集群升级的环境中完成,所以我建议在启动之前将集群升级到最新版本(如果可能的话7.2)过程;如果那是不可能的,那么我建议在旧版本上引入新数据节点,然后在一切恢复正常后执行升级到新版本。

    作为参考,您可以在http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster-upgrade-downgrade-compatibility-7.x.html

    看到不同群集版本之间的升级兼容性

    问候,安德鲁。