Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


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

在 Windows 上,MySQL 服务器可以运行为 Windows 服务。安装、控制和删除单个 MySQL 服务的步骤在第2.3.3.8节,“Starting MySQL as a Windows Service”中有描述。

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

以下示例假设您想从两个不同版本的 MySQL 安装(C:\mysql-5.7.9C:\mysql-8.4.0)运行mysqld 服务器。 (这可能是您在生产环境中使用 5.7.9,但同时想使用 8.4.0 进行测试的情况。)

要将 MySQL 安装为 Windows 服务,请使用 --install--install-manual 选项。关于这些选项的信息,请见第2.3.3.8节,“Starting MySQL as a Windows Service”

根据前面的信息,您有多种方式来设置多个服务。以下示例描述了一些示例。在尝试任何这些示例之前,请先关闭和删除现有的 MySQL 服务。

  • 方法1: 将所有服务的选项指定到标准选项文件中。为此,您可以使用不同的服务名称来运行每个服务器。假设您想使用 5.7.9 mysqld 使用服务名称mysqld1,并使用 8.4.0 mysqld 使用服务名称mysqld2。在这种情况下,您可以使用[mysqld1]组件来指定 5.7.9 的选项,并使用[mysqld2]组件来指定 8.4.0 的选项。例如,您可以将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.9mysqld的选项,创建一个文件C:\my-opts1.cnf,其内容如下:

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

    对于8.4.0mysqld,创建一个文件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

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

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

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