(mysql.info) multiple-windows-services
Info Catalog
(mysql.info) multiple-windows-command-line-servers
(mysql.info) multiple-windows-servers
5.13.1.2 Starting Multiple Windows Servers as Services
......................................................
On NT-based systems, a MySQL server can run as a Windows service. The
procedures for installing, controlling, and removing a single MySQL
service are described in windows-start-service.
You can also install multiple MySQL servers as services. In this case,
you must make sure that each server uses a different service name in
addition to all the other parameters that must be unique for each
server.
For the following instructions, assume that you want to run the
`mysqld-nt' server from two different versions of MySQL that are
installed at `C:\mysql-4.1.8' and `C:\mysql-5.0.19', respectively.
(This might be the case if you're running 4.1.8 as your production
server, but also want to conduct tests using 5.0.19.)
The following principles apply when installing a MySQL service with the
-install or -install-manual option:
* If you specify no service name, the server uses the default
service name of `MySQL' and the server reads options from the
`[mysqld]' group in the standard option files.
* If you specify a service name after the -install option, the
server ignores the `[mysqld]' option group and instead reads
options from the group that has the same name as the service. The
server reads options from the standard option files.
* If you specify a -defaults-file option after the service name, the
server ignores the standard option files and reads options only
from the `[mysqld]' group of the named file.
* Before MySQL 4.0.17, only a server installed using the default
service name (`MySQL') or one installed explicitly with a service name
of `mysqld' read the `[mysqld]' group in the standard option files. As
of 4.0.17, all servers read the `[mysqld]' group if they read the
standard option files, even if they are installed using another service
name. This allows you to use the `[mysqld]' group for options that
should be used by all MySQL services, and an option group named after
each service for use by the server installed with that service name.
Based on the preceding information, you have several ways to set up
multiple services. The following instructions describe some examples.
Before trying any of them, be sure that you shut down and remove any
existing MySQL services first.
* *Approach 1:* Specify the options for all services in one of the
standard option files. To do this, use a different service name
for each server. Suppose that you want to run the 4.1.8
`mysqld-nt' using the service name of `mysqld1' and the 5.0.19
`mysqld-nt' using the service name `mysqld2'. In this case, you
can use the `[mysqld1]' group for 4.1.8 and the `[mysqld2]' group
for 5.0.19. For example, you can set up `C:\my.cnf' like this:
# options for mysqld1 service
[mysqld1]
basedir = C:/mysql-4.1.8
port = 3307
enable-named-pipe
socket = mypipe1
# options for mysqld2 service
[mysqld2]
basedir = C:/mysql-5.0.19
port = 3308
enable-named-pipe
socket = mypipe2
Install the services as follows, using the full server pathnames
to ensure that Windows registers the correct executable program
for each service:
C:\> C:\mysql-4.1.8\bin\mysqld-nt --install mysqld1
C:\> C:\mysql-5.0.19\bin\mysqld-nt --install mysqld2
To start the services, use the services manager, or use `NET
START' with the appropriate service names:
C:\> NET START mysqld1
C:\> NET START mysqld2
To stop the services, use the services manager, or use `NET STOP'
with the appropriate service names:
C:\> NET STOP mysqld1
C:\> NET STOP mysqld2
* *Approach 2:* Specify options for each server in separate files
and use -defaults-file when you install the services to tell each
server what file to use. In this case, each file should list
options using a `[mysqld]' group.
With this approach, to specify options for the 4.1.8 `mysqld-nt',
create a file `C:\my-opts1.cnf' that looks like this:
[mysqld]
basedir = C:/mysql-4.1.8
port = 3307
enable-named-pipe
socket = mypipe1
For the 5.0.19 `mysqld-nt', create a file `C:\my-opts2.cnf' that
looks like this:
[mysqld]
basedir = C:/mysql-5.0.19
port = 3308
enable-named-pipe
socket = mypipe2
Install the services as follows (enter each command on a single
line):
C:\> C:\mysql-4.1.8\bin\mysqld-nt --install mysqld1
--defaults-file=C:\my-opts1.cnf
C:\> C:\mysql-5.0.19\bin\mysqld-nt --install mysqld2
--defaults-file=C:\my-opts2.cnf
To use a -defaults-file option when you install a MySQL server as
a service, you must precede the option with the service name.
After installing the services, start and stop them the same way as
in the preceding example.
To remove multiple services, use `mysqld --remove' for each one,
specifying a service name following the -remove option. If the service
name is the default (`MySQL'), you can omit it.
Info Catalog
(mysql.info) multiple-windows-command-line-servers
(mysql.info) multiple-windows-servers
automatically generated byinfo2html