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


MySQL 8.4 Reference Manual  /  ...  /  Starting Multiple MySQL Instances at the Windows Command Line

7.8.2.1 Windows 命令行启动多个 MySQL 实例

从命令行手动启动单个 MySQL 服务器的过程在第2.3.3.6节,“从 Windows 命令行启动 MySQL”中有描述。要启动多个服务器,这样可以在命令行或选项文件中指定相应的选项。将选项放在选项文件中更方便,但是需要确保每个服务器都获取其自己的选项集。为此,创建一个选项文件用于每个服务器,并在运行时使用--defaults-file选项指定文件名。

假设您想在端口 3307 上运行一个mysqld实例,数据目录为C:\mydata1,并在端口 3308 上运行另一个实例,数据目录为C:\mydata2。使用以下过程:

  1. 确保每个数据目录都存在,包括其自己的mysql数据库,该数据库包含授权表。

  2. 创建两个选项文件。例如,可以创建一个名为C:\my-opts1.cnf的文件,使其看起来像这样:

    [mysqld]
    datadir = C:/mydata1
    port = 3307

    创建另一个名为C:\my-opts2.cnf的文件,使其看起来像这样:

    [mysqld]
    datadir = C:/mydata2
    port = 3308
  3. 使用--defaults-file选项启动每个服务器,以其自己的选项文件:

    C:\> C:\mysql\bin\mysqld --defaults-file=C:\my-opts1.cnf
    C:\> C:\mysql\bin\mysqld --defaults-file=C:\my-opts2.cnf

    每个服务器都在前台运行(直到服务器退出),因此需要在单独的控制台窗口中输入这两个命令。

要关闭服务器,请使用适当的端口号连接到每个服务器。

C:\> C:\mysql\bin\mysqladmin --port=3307 --host=127.0.0.1 --user=root --password shutdown
C:\> C:\mysql\bin\mysqladmin --port=3308 --host=127.0.0.1 --user=root --password shutdown

配置了TCP/IP客户端连接的服务器允许客户端通过TCP/IP连接。如果您的Windows版本支持命名管道,并且您还想允许命名管道连接,指定启用命名管道和指定其名称的选项。每个支持命名管道连接的服务器都必须使用唯一的pipe名称。例如,C:\my-opts1.cnf文件可能如下所示:

[mysqld]
datadir = C:/mydata1
port = 3307
enable-named-pipe
socket = mypipe1

类似地,对第二个服务器修改C:\my-opts2. cnf文件,然后按照之前描述的方式启动服务器。

对于要允许共享内存连接的服务器,启用共享内存连接可以通过使用shared_ memory系统变量并指定每个服务器的唯一共享内存名称来实现。设置shared_memory_base_name系统变量来指定每个服务器的共享内存名称。