文档首页
MySQL 8.4 参考手册
相关文档 下载本手册
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
手册页 (TGZ) - 258.5Kb
手册页 (Zip) - 365.5Kb
信息 (Gzip) - 4.0Mb
信息 (Zip) - 4.0Mb


7.8.2.2 将多个 MySQL 实例作为 Windows 服务启动

在 Windows 上,MySQL 服务器可以作为 Windows 服务运行。有关安装、控制和删除单个 MySQL 服务的过程,请参阅 第 2.3.3.8 节 “将 MySQL 作为 Windows 服务启动”

要设置多个 MySQL 服务,除了每个实例必须唯一的其他参数外,还必须确保每个实例使用不同的服务名称。

对于以下说明,假设您要从安装在 C:\mysql-5.7.9C:\mysql-8.4.0 的两个不同版本的 MySQL 运行 mysqld 服务器。(如果您将 5.7.9 作为生产服务器运行,但也想使用 8.4.0 进行测试,则可能会出现这种情况。)

要将 MySQL 作为 Windows 服务安装,请使用 --install--install-manual 选项。有关这些选项的信息,请参阅 第 2.3.3.8 节 “将 MySQL 作为 Windows 服务启动”

根据前面的信息,您可以通过多种方法来设置多个服务。以下说明描述了一些示例。在尝试任何一种方法之前,请关闭并删除任何现有的 MySQL 服务。

  • 方法 1: 在其中一个标准选项文件中指定所有服务的选项。为此,请为每个服务器使用不同的服务名称。假设您要使用服务名称 mysqld1 运行 5.7.9 mysqld,使用服务名称 mysqld2 运行 8.4.0 mysqld。在这种情况下,您可以对 5.7.9 使用 [mysqld1] 组,对 8.4.0 使用 [mysqld2] 组。例如,您可以像这样设置 C:\my.cnf

    # options for mysqld1 service
    [mysqld1]
    basedir = C:/mysql-5.7.9
    port = 3307
    enable-named-pipe
    socket = mypipe1
    
    # options for mysqld2 service
    [mysqld2]
    basedir = C:/mysql-8.4.0
    port = 3308
    enable-named-pipe
    socket = mypipe2

    使用完整的服务器路径名安装服务,如下所示,以确保 Windows 为每个服务注册正确的可执行程序

    C:\> C:\mysql-5.7.9\bin\mysqld --install mysqld1
    C:\> C:\mysql-8.4.0\bin\mysqld --install mysqld2

    要启动服务,请使用服务管理器,或者使用带有相应服务名称的 NET STARTSC START

    C:\> SC START mysqld1
    C:\> SC START mysqld2

    要停止服务,请使用服务管理器,或者使用带有相应服务名称的 NET STOPSC STOP

    C:\> SC STOP mysqld1
    C:\> SC STOP mysqld2
  • 方法 2: 在单独的文件中指定每个服务器的选项,并在安装服务时使用 --defaults-file 告诉每个服务器要使用哪个文件。在这种情况下,每个文件都应使用 [mysqld] 组列出选项。

    使用这种方法,要指定 5.7.9 mysqld 的选项,请创建一个如下所示的 C:\my-opts1.cnf 文件

    [mysqld]
    basedir = C:/mysql-5.7.9
    port = 3307
    enable-named-pipe
    socket = mypipe1

    对于 8.4.0 mysqld,创建一个如下所示的 C:\my-opts2.cnf 文件

    [mysqld]
    basedir = C:/mysql-8.4.0
    port = 3308
    enable-named-pipe
    socket = mypipe2

    如下所示安装服务(在一行中输入每个命令)

    C:\> C:\mysql-5.7.9\bin\mysqld --install mysqld1
               --defaults-file=C:\my-opts1.cnf
    C:\> C:\mysql-8.4.0\bin\mysqld --install mysqld2
               --defaults-file=C:\my-opts2.cnf

    当您将 MySQL 服务器作为服务安装并使用 --defaults-file 选项时,服务名称必须位于选项之前。

    安装服务后,以与前面的示例相同的方式启动和停止它们。

要删除多个服务,请对每个服务使用 SC DELETE mysqld_service_name。或者,对每个服务使用 mysqld --remove,并在 --remove 选项后指定服务名称。如果服务名称是默认值 (MySQL),则在使用 mysqld --remove 时可以省略它。