(mysql.info) windows-start-service
Info Catalog
(mysql.info) windows-start-command-line
(mysql.info) windows-installation
(mysql.info) windows-testing
2.3.11 Starting MySQL as a Windows Service
------------------------------------------
On the NT family (Windows NT, 2000, XP, 2003), the recommended way to
run MySQL is to install it as a Windows service, whereby MySQL starts
and stops automatically when Windows starts and stops. A MySQL server
installed as a service can also be controlled from the command line
using `NET' commands, or with the graphical `Services' utility.
The `Services' utility (the Windows `Service Control Manager') can be
found in the Windows Control Panel (under Administrative Tools on
Windows 2000, XP, and Server 2003). To avoid conflicts, it is advisable
to close the `Services' utility while performing server installation or
removal operations from the command line.
Before installing MySQL as a Windows service, you should first stop the
current server if it is running by using the following command:
C:\> "C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqladmin" -u root shutdown
* If the MySQL `root' user account has a password, you need to
invoke `mysqladmin' with the -p option and supply the password when
prompted.
This command invokes the MySQL administrative utility `mysqladmin' to
connect to the server and tell it to shut down. The command connects as
the MySQL `root' user, which is the default administrative account in
the MySQL grant system. Note that users in the MySQL grant system are
wholly independent from any login users under Windows.
Install the server as a service using this command:
C:\> "C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld" --install
The service-installation command does not start the server.
Instructions for that are given later in this section.
To make it easier to invoke MySQL programs, you can add the pathname of
the MySQL `bin' directory to your Windows system `PATH' environment
variable:
* On the Windows desktop, right-click on the My Computer icon, and
select Properties
* Next select the Advanced tab from the System Properties menu that
appears, and click the Environment Variables button.
* Under System Variables, select Path, and then click the Edit
button. The Edit System Variable dialogue should appear.
* Place your cursor at the end of the text appearing in the space
marked Variable Value. (Use the End key to ensure that your cursor
is positioned at the very end of the text in this space.) Then
enter the complete pathname of your MySQL `bin' directory (for
example, `C:\Program Files\MySQL\MySQL Server 5.0\bin'), Note that
there should be a semicolon separating this path from any values
present in this field. Dismiss this dialogue, and each dialogue in
turn, by clicking OK until all of the dialogues that were opened
have been dismissed. You should now be able to invoke any MySQL
executable program by typing its name at the DOS prompt from any
directory on the system, without having to supply the path. This
includes the servers, the `mysql' client, and all MySQL
command-line utilities such as `mysqladmin' and `mysqldump'.
You should not add the MySQL `bin' directory to your Windows
`PATH' if you are running multiple MySQL servers on the same
machine.
*Warning*: You must exercise great care when editing your system `PATH'
by hand; accidental deletion or modification of any portion of the
existing `PATH' value can leave you with a malfunctioning or even
unusable system.
The following additional arguments can be used in MySQL 5.0 when
installing the service:
* You can specify a service name immediately following the -install
option. The default service name is `MySQL'.
* If a service name is given, it can be followed by a single option.
By convention, this should be -defaults-file=FILE_NAME to specify
the name of an option file from which the server should read
options when it starts.
It is possible to use a single option other than -defaults-file,
but this is discouraged. -defaults-file is more flexible because
it enables you to specify multiple startup options for the server
by placing them in the named option file. Also, in MySQL 5.0, use
of an option different from -defaults-file is not supported until
5.0.3.
* As of MySQL 5.0.1, you can also specify a -local-service option
following the service name. This causes the server to run using the
`LocalService' Windows account that has limited system privileges.
This account is available only for Windows XP or newer. If both
-defaults-file and -local-service are given following the service
name, they can be in any order.
For a MySQL server that is installed as a Windows service, the
following rules determine the service name and option files that the
server uses:
* If the service-installation command specifies no service name or
the default service name (`MySQL') following the -install option,
the server uses the a service name of `MySQL' and reads options
from the `[mysqld]' group in the standard option files.
* If the service-installation command specifies a service name other
than `MySQL' following the -install option, the server uses that
service name. It reads options from the group that has the same
name as the service, and reads options from the standard option
files.
The server also reads options from the `[mysqld]' group from the
standard option files. This allows you to use the `[mysqld]' group
for options that should be used by all MySQL services, and an
option group with the same name as a service for use by the server
installed with that service name.
* If the service-installation command specifies a -defaults-file
option after the service name, the server reads options only from
the `[mysqld]' group of the named file and ignores the standard
option files.
As a more complex example, consider the following command:
C:\> "C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld"
--install MySQL --defaults-file=C:\my-opts.cnf
Here, the default service name (`MySQL') is given after the -install
option. If no -defaults-file option had been given, this command would
have the effect of causing the server to read the `[mysqld]' group from
the standard option files. However, because the -defaults-file option
is present, the server reads options from the `[mysqld]' option group,
and only from the named file.
You can also specify options as Start parameters in the Windows
`Services' utility before you start the MySQL service.
Once a MySQL server has been installed as a service, Windows starts the
service automatically whenever Windows starts. The service also can be
started immediately from the `Services' utility, or by using a `NET
START MySQL' command. The `NET' command is not case sensitive.
When run as a service, `mysqld' has no access to a console window, so
no messages can be seen there. If `mysqld' does not start, check the
error log to see whether the server wrote any messages there to
indicate the cause of the problem. The error log is located in the
MySQL data directory (for example, `C:\Program Files\MySQL\MySQL Server
5.0\data'). It is the file with a suffix of `.err'.
When a MySQL server has been installed as a service, and the service is
running, Windows stops the service automatically when Windows shuts
down. The server also can be stopped manually by using the `Services'
utility, the `NET STOP MySQL' command, or the `mysqladmin shutdown'
command.
You also have the choice of installing the server as a manual service
if you do not wish for the service to be started automatically during
the boot process. To do this, use the -install-manual option rather
than the -install option:
C:\> "C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld" --install-manual
To remove a server that is installed as a service, first stop it if it
is running by executing `NET STOP MYSQL'. Then use the -remove option
to remove it:
C:\> "C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld" --remove
If `mysqld' is not running as a service, you can start it from the
command line. For instructions, see windows-start-command-line.
Please see windows-troubleshooting, if you encounter
difficulties during installation.
Info Catalog
(mysql.info) windows-start-command-line
(mysql.info) windows-installation
(mysql.info) windows-testing
automatically generated byinfo2html