在线添加MySQL Cluster Sql节点

时间:2012-07-04 08:17:13

标签: mysql

我在4个数据节点和4个sql节点上使用mysql ndbcluster,最近我需要添加4个sql节点,没有停机时间。 在Mysql手册中,我找到了一个在线添加数据节点的指南,但我找不到任何sql节点。

http://dev.mysql.com/doc/mysql-cluster-excerpt/5.1/en/mysql-cluster-online-add-node.html

你有指导吗?

感谢。

2 个答案:

答案 0 :(得分:3)

添加额外的MySQL服务器非常简单。

假设您已经为config.ini文件中的每个部分[mysqld]或[api]部分运行了mysqld进程,请为需要添加的每个新MySQL服务器添加一个额外的部分(您可能需要包括几个备件。

要应用更新的configi.ini文件,请停止每个ndb_mgmd进程,然后使用--initial选项重新启动它们(否则它们将使用其缓存的配置数据副本而不是更新的config.ini文件)。

管理节点再次运行后,重新启动每个数据节点:

  • 等待让每个数据节点在重新启动下一个数据节点之前返回服务(这样每个节点组中总有一个数据节点可用,因此服务不会中断)
  • 使用--initial选项启动它们,否则您将清除数据

一旦所有数据节点再次运行,只需启动新的mysqld实例。

如果您使用MySQL Cluster Manager(从edelivery.oracle.com下载),那么它甚至更简单

安德鲁。

答案 1 :(得分:0)

如果config.ini中没有此新SQL节点的部分,您可以执行以下操作:

  1. 在config.ini文件中添加新SQL节点的部分。
  2. 使用--initialize或--reload选项重新启动管理节点进程。
  3. Do a rolling restart到数据节点和当前SQL节点,但不要启动新的SQL节点。
  4. 在群集中每个数据库的datadir下的新SQL节点中创建一个目录,并为mysql用户分配正确的权限。
  5. 最后,启动新的SQL节点。
  6. 如果在新的SQL节点的config.ini文件中有一个部分已经存在并反映在集群中,则可以跳过步骤1:3并从步骤4开始。