[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
On NT-based systems, a MySQL server can be run as a Windows service. The procedures for installing, controlling, and removing a single MySQL service are described in 2.2.1.7 Starting MySQL as a Windows Service.
As of MySQL 4.0.2, you can install multiple 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 per 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.0.8' and `C:\mysql-4.0.17', respectively. (This might be
the case if you're running 4.0.8 as your production server, but want to test
4.0.17 before upgrading to it.)
The following principles are relevant when installing a MySQL service with the
--install
option:
MySQL
and the server reads options from the [mysqld]
group in
the standard option files.
--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.
--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.
These principles also apply if you install a server using the
--install-manual
option.
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 you shut down and remove any existing MySQL services first.
mysqld-nt
using the service
name of mysqld1
and the 4.0.17 mysqld-nt
using the service name mysqld2
.
In this case, you can use the [mysqld1]
group for 4.0.8 and the
[mysqld2]
group for 4.0.17.
For example, you can set up `C:\my.cnf' like this:
# options for mysqld1 service [mysqld1] basedir = C:/mysql-4.0.8 port = 3307 enable-named-pipe socket = mypipe1 # options for mysqld2 service [mysqld2] basedir = C:/mysql-4.0.17 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:
shell> C:\mysql-4.0.8\bin\mysqld-nt --install mysqld1 shell> C:\mysql-4.0.17\bin\mysqld-nt --install mysqld2 |
To start the services, use the services manager, or use NET START
with the appropriate service names:
shell> NET START mysqld1 shell> NET START mysqld2 |
To stop the services, use the services manager, or use NET STOP
with the appropriate service names:
shell> NET STOP mysqld1 shell> NET STOP mysqld2 |
Note: 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
will 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.
--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.0.8 mysqld-nt
,
create a file `C:\my-opts1.cnf' that looks like this:
[mysqld] basedir = C:/mysql-4.0.8 port = 3307 enable-named-pipe socket = mypipe1 |
For the 4.0.17 mysqld-nt
, create a file
`C:\my-opts2.cnf' that looks like this:
[mysqld] basedir = C:/mysql-4.0.17 port = 3308 enable-named-pipe socket = mypipe2 |
Install the services as follows (enter each command on a single line):
shell> C:\mysql-4.0.8\bin\mysqld-nt --install mysqld1 --defaults-file=C:\my-opts1.cnf shell> C:\mysql-4.0.17\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 to remove has a name different than the default.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |