Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

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

在 Windows 中,MySQL 服务器可以作为 Windows 服务运行。单个 MySQL 服务的安装、控制和删除过程在 第 2.3.3.8 节,“作为 Windows 服务启动 MySQL” 中有所描述。

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

以下说明假设您想从两个不同的 MySQL 版本中运行 mysqld 服务器,分别安装在 C:\mysql-5.7.9C:\mysql-8.3.0 中。(这可能是因为您正在使用 5.7.9 作为生产服务器,但也想使用 8.3.0 进行测试。)

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

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

  • 方法 1: 在一个标准选项文件中指定所有服务的选项。为此,请为每个服务器使用不同的服务名称。假设您想使用服务名称 mysqld1 运行 5.7.9 mysqld,使用服务名称 mysqld2 运行 8.3.0 mysqld。在这种情况下,您可以使用 [mysqld1] 组为 5.7.9 和 [mysqld2] 组为 8.3.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.3.0
    port = 3308
    enable-named-pipe
    socket = mypipe2

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

    C:\> C:\mysql-5.7.9\bin\mysqld --install mysqld1
    C:\> C:\mysql-8.3.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.3.0 mysqld,创建一个文件 C:\my-opts2.cnf,如下所示:

    [mysqld]
    basedir = C:/mysql-8.3.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.3.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 时省略它。