21.2.4.4 将 NDB 群集进程安装为 Windows 服务

一旦满足了 NDB Cluster 的期望,就可以将 Management 节点和数据节点安装为 Windows 服务,以便在 Windows 启动或停止时自动启动和停止这些进程。这也使得可以使用适当的 SC STARTSC STOP 命令或使用 Windows 图形 Services Util 从命令行控制这些过程。也可以使用 NET STARTNET STOP 命令。

通常必须使用对系统具有 Management 员权限的帐户来完成将程序作为 Windows 服务安装。

要将 Management 节点作为服务安装在 Windows 上,请使用--install选项从托管 Management 节点的计算机上的命令行调用ndb_mgmd.exe,如下所示:

C:\> C:\mysql\bin\ndb_mgmd.exe --install
Installing service 'NDB Cluster Management Server'
  as '"C:\mysql\bin\ndbd.exe" "--service=ndb_mgmd"'
Service successfully installed.

Important

将 NDB 群集程序安装为 Windows 服务时,应始终指定完整路径;否则,服务安装可能会失败,并显示以下错误:系统找不到指定的文件。

必须先使用--install选项,然后再为ndb_mgmd.exe指定其他选项。但是,最好在选项文件中指定此类选项。如果您的选项文件不在ndb_mgmd.exe --help的输出中所示的默认位置之一,则可以使用--config-file选项指定位置。

现在,您应该能够像这样启动和停止 Management 服务器:

C:\> SC START ndb_mgmd

C:\> SC STOP ndb_mgmd

Note

如果使用 NET 命令,则还可以使用描述性名称作为 Windows 服务启动或停止 Management 服务器,如下所示:

C:\> NET START 'NDB Cluster Management Server'
The NDB Cluster Management Server service is starting.
The NDB Cluster Management Server service was started successfully.

C:\> NET STOP  'NDB Cluster Management Server'
The NDB Cluster Management Server service is stopping..
The NDB Cluster Management Server service was stopped successfully.

通常,在安装服务时指定简短的服务名称或允许使用默认服务名称,然后在启动或停止服务时引用该名称通常会更简单。要指定ndb_mgmd以外的服务名称,请将其附加到--install选项,如本示例所示:

C:\> C:\mysql\bin\ndb_mgmd.exe --install=mgmd1
Installing service 'NDB Cluster Management Server'
  as '"C:\mysql\bin\ndb_mgmd.exe" "--service=mgmd1"'
Service successfully installed.

现在,您应该可以使用指定的名称启动或停止服务,如下所示:

C:\> SC START mgmd1

C:\> SC STOP mgmd1

要删除 Management 节点服务,请使用 SC DELETE * service_name *:

C:\> SC DELETE mgmd1

或者,使用--remove选项调用ndb_mgmd.exe,如下所示:

C:\> C:\mysql\bin\ndb_mgmd.exe --remove
Removing service 'NDB Cluster Management Server'
Service successfully removed.

如果使用默认名称以外的其他服务名称安装了该服务,请将该服务名称作为ndb_mgmd.exe --remove选项的值传递,如下所示:

C:\> C:\mysql\bin\ndb_mgmd.exe --remove=mgmd1
Removing service 'mgmd1'
Service successfully removed.

使用ndbd.exe(或ndbmtd.exe)的--install选项,可以类似的方式将 NDB 群集数据节点进程作为 Windows 服务安装,如下所示:

C:\> C:\mysql\bin\ndbd.exe --install
Installing service 'NDB Cluster Data Node Daemon' as '"C:\mysql\bin\ndbd.exe" "--service=ndbd"'
Service successfully installed.

现在,您可以启动或停止数据节点,如以下示例所示:

C:\> SC START ndbd

C:\> SC STOP ndbd

要删除数据节点服务,请使用 SC DELETE * service_name *:

C:\> SC DELETE ndbd

或者,使用--remove选项调用ndbd.exe,如下所示:

C:\> C:\mysql\bin\ndbd.exe --remove
Removing service 'NDB Cluster Data Node Daemon'
Service successfully removed.

ndb_mgmd.exe(和mysqld.exe)一样,在将ndbd.exe作为 Windows 服务安装时,还可以为该服务指定一个名称作为--install的值,然后在启动或停止该服务时使用它,如下所示:

C:\> C:\mysql\bin\ndbd.exe --install=dnode1
Installing service 'dnode1' as '"C:\mysql\bin\ndbd.exe" "--service=dnode1"'
Service successfully installed.

C:\> SC START dnode1

C:\> SC STOP dnode1

如果在安装数据节点服务时指定了服务名称,则在删除它时也可以使用该名称,如下所示:

C:\> SC DELETE dnode1

或者,您可以将服务名称作为ndbd.exe --remove选项的值传递,如下所示:

C:\> C:\mysql\bin\ndbd.exe --remove=dnode1
Removing service 'dnode1'
Service successfully removed.

使用mysqld --installSC STARTSC STOP以类似的方式将 SQL 节点作为 Windows 服务安装,启动服务,停止服务以及删除服务.SC DELETE (或mysqld --remove)。 NET 命令也可以用来启动或停止服务。有关更多信息,请参见第 2.3.4.8 节“将 MySQL 作为 Windows 服务启动”