本节讨论将 MySQL Cluster Manager 从以前的版本升级到最新版本(当前为 1.4.8),并提供有关升级捆绑的 MySQL NDB Cluster 软件的基本指南。
仅支持从 1.4.0 版及更高版本升级。
此处列出了升级 MySQL Cluster Manager 安装的基本步骤:
在所需位置安装新版本的 MySQL Cluster Manager 软件。
为新安装创建配置,使其使用以前安装的数据。
停止所有主机上所有正在运行的 MySQL Cluster Manager 代理进程。
启动新的代理进程,确保它们使用之前创建的新配置。
在接下来的几段中,将对每个步骤进行更详细的解释。出于示例的目的,我们假设从现有的 MySQL Cluster Manager 1.4.1 安装升级到 MySQL Cluster Manager 1.4.8 的新安装。对于Linux或类Unix系统,我们假设安装目录分别为
/opt/mcm-1.4.1
和
/opt/mcm-1.4.8
;在 Windows 上,我们假设安装目录是
C:\Program Files\MySQL\MySQL Cluster Manager 1.4.1\
和
C:\Program Files\MySQL\MySQL Cluster Manager 1.4.8\
。
第 1 步:安装新的 MySQL Cluster Manager 版本。 您可以按照与新安装相同的方式获取和安装新版本的 MySQL Cluster Manager(请参阅 第 2.1 节,“获取 MySQL Cluster Manager”和 第 2.3 节,“MySQL Cluster Manager 安装”),附加要求是您不应尝试将新版本安装在与当前使用的版本相同的位置。
第 2 步:配置新安装。
为了让新的 MySQL Cluster Manager 代理二进制文件管理相同的 MySQL NDB Cluster 实例,它们必须能够找到旧安装二进制文件使用的代理存储库中包含的数据,这是../mcm_data
(相对于 MySQL Cluster 的安装目录Manager) 默认情况下,但可以manager-directory
使用
mcmd.ini
.
如果代理存储库和代理配置文件位于代理安装目录的外部,则 MySQL Cluster Manager 软件升级最简单。假设旧版本的代理安装到/opt/mcm-1.4.1
,并且它使用该目录/var/opt/mcm
作为代理存储库和/etc/mcm/mcmd.ini
配置文件。在这种情况下,要使新的二进制文件使用相同的配置和存储库,只需启动新的mcmd进程,以便它们使用相同的配置文件(参见
步骤 4)。否则,您应该将默认配置文件复制到安装目录之外的位置,例如
/etc/mcm/mcmd.ini
,如下所示:
$> cp -r /opt/mcm-1.4.1/etc/mcmd.ini /etc/mcm/mcmd.ini
然后,将以下行添加到
mcmd.ini
文件的新副本中:
manager-directory=/var/opt/mcm
在此之后,您可以保存并关闭文件。另见 第 2.4 节,“MySQL 集群管理器配置文件”。
第 3 步:停止所有代理。
在构成管理安装的所有主机上停止使用旧二进制文件的代理进程。您可以停止给定站点的所有代理,例如mysite
,使用stop agents
MySQL Cluster Manager 客户端中的命令,如下所示:
mcm> stop agents mysite;
您应该stop agents
为 的输出中列出的每个站点执行类似于刚才显示的命令list sites
。
第 4 步:启动新的 MySQL Cluster Manager 二进制文件。
使用选项启动新的mcmd代理二进制文件,
--defaults-file
以便它使用正确的配置文件,如下所示:
$> mcmd --defaults-file=/etc/mcm/mcmd.ini &
大多数代理(即至少总数的一半加一个)应在 10 秒内启动;否则,缺乏用于决策的节点法定人数可能会导致节点之间的通信中断。
您现在应该能够从新安装启动mcm客户端并像往常一样执行管理任务。客户端成功启动并连接到代理后,您可以使用以下命令验证它是否正在运行正确版本的 MySQL Cluster Manager 软件version
,如下所示:
mcm> version;
+-----------------------------+
| Version |
+-----------------------------+
| MySQL Cluster Manager 1.4.8 |
+-----------------------------+
1 row in set (0.00 sec)
接下来,检查所有站点上的所有主机、集群和进程是否对新的mcm客户端可见,并且可以运行;例如:
mcm> list hosts mysite;
+-----------+-----------+---------+
| Host | Status | Version |
+-----------+-----------+---------+
| tonfisk | Available | 1.4.8 |
| flundra | Available | 1.4.8 |
| alpha | Available | 1.4.8 |
| beta | Available | 1.4.8 |
| gamma | Available | 1.4.8 |
+-----------+-----------+---------+
5 rows in set (0.16 sec)
mcmc> list clusters mysite;
+------------------+-----------+
| Cluster | Package |
+------------------+-----------+
| mycluster | mypackage |
| yourcluster | mypackage |
+------------------+-----------+
2 rows in set (2.07 sec)
mcm> show status --cluster mycluster;
+-----------+-------------------+---------+
| Cluster | Status | Comment |
+-----------+-------------------+---------+
| mycluster | fully operational | |
+-----------+-------------------+---------+
1 row in set (0.01 sec)
mcm> show status --cluster yourcluster;
+-------------+-------------------+---------+
| Cluster | Status | Comment |
+-------------+-------------------+---------+
| yourcluster | fully operational | |
+-------------+-------------------+---------+
1 row in set (0.01 sec)
mcm> show status -r mycluster;
+--------+----------+----------+---------+-----------+-----------+
| NodeId | Process | Host | Status | Nodegroup | Package |
+--------+----------+----------+---------+-----------+-----------+
| 49 | ndb_mgmd | tonfisk | running | | mypackage |
| 1 | ndbd | tonfisk | running | 0 | mypackage |
| 2 | ndbd | flundra | running | 0 | mypackage |
| 50 | mysqld | tonfisk | running | | mypackage |
| 51 | mysqld | flundra | running | | mypackage |
| 52 | ndbapi | *tonfisk | added | | |
| 53 | ndbapi | *flundra | added | | |
+--------+----------+----------+---------+-----------+-----------+
7 rows in set (0.08 sec)
mcm> show status -r yourcluster;
+--------+----------+-------+---------+-----------+-----------+
| NodeId | Process | Host | Status | Nodegroup | Package |
+--------+----------+-------+---------+-----------+-----------+
| 50 | ndb_mgmd | alpha | running | | mypackage |
| 5 | ndbd | beta | running | n/a | mypackage |
| 6 | ndbd | gamma | running | n/a | mypackage |
+--------+----------+-------+---------+-----------+-----------+
3 rows in set (0.01 sec)
有关使用mcm客户端执行常见集群管理任务的更多信息, 请参阅第 3 章,使用 MySQL 集群管理器。
Upgrading MySQL NDB Cluster.
Although the MySQL NDB Cluster software typically comes bundled with the
MySQL Cluster Manager distribution, it is important to keep in mind that
upgrading the MySQL Cluster Manager software does not
upgrade any existing MySQL NDB Cluster installations. Since the new MySQL Cluster Manager
installation uses the same configuration as the old one, the
clusters under its control remain unchanged. If you wish to
upgrade a cluster using the bundled MySQL NDB Cluster software, you should
move the cluster
directory (see
Contents of the MySQL Cluster Manager Unix Distribution Archive) 及其所有内容到 MySQL Cluster Manager 安装目录之外的位置。在此之后,您可以使用add
package
和upgrade
cluster
将一个或多个集群升级到新版本的 MySQL NDB Cluster 软件。