ITEEDU

5.12.1.1. 在命令行中启动多个Windows服务器

为了从命令行手动启动多个服务器,可以在命令行中或在选项文件中指定适当的选项。把选项放在选项文件中比较方便,但是需要确保每个服务器可以获得自己的选项。为了实现,为每个创建一个选项文件,并且运行服务时通过--defaults-file选项告诉服务器选项文件名。

假设你想要在端口3307使用数据目录C:\mydata1运行mysqld,并且想在端口3308使用数据目录C:\mydata1运行mysqld-max。(要想这样做,启动服务器之前要确保,每个数据目录存在并且有自己的mysql数据库拷贝,它包含 授权表)。

然后创建两个选项文件。例如,创建一个文件名为C:\my-opts1.cnf的配置文件,它看起来象这个样子:

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

创建第二个文件名为C:\my-opts1.cnf的配置文件,它看起来象这个样子:

mysqld]
datadir = C:/mydata2
port = 3308

然后,用它们自己的选项文件启动每个服务器:

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

在NT中,每个服务器在前台启动(服务器退出前,不会显示新的提示符);需要在两个控制台窗口中执行这两个命令。

要想关闭服务器,必须连接到相应的端口号:

C:\> C:\mysql\bin\mysqladmin --port=3307 shutdown

C:\> C:\mysql\bin\mysqladmin --port=3308 shutdown

如刚才所讨论的,服务器配置允许客户端通过TCP/IP来连接。如果你的Windows版本支持命名管道并且你想允许命名管道连接,使用mysqld-nt或mysqld-max-nt服务器并指定启用命名管道并且指定管道名的选项。支持命名管道连接的每个服务器必须使用一个唯一的管道名。例如,C:\my-opts1.cnf文件可能象这样来书写:

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

然后,这样启动服务器:

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

同样修改第2个服务器使用的C:\my-opts2.cnf文件。