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
Note: 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=
to specify the name of an option file from which the server
should read options when it starts.
file_name
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 Section 2.4.8.10, “Starting MySQL from the Windows Command Line”.
Please see Section 2.4.8.13, “Troubleshooting a MySQL Installation Under Windows”, if you encounter difficulties during installation.

User Comments
Be nice and do what it says. READ the error log.
The system error 1067 seems generic. If your problems says something like:
InnoDB: Error: log file .\ib_logfile{0,1} is of different size 0 0 bytes
InnoDB: than specified in the .cnf file 0 10485760 bytes!
050729 12:07:40 [ERROR] Can't init databases
050729 12:07:40 [ERROR] Aborting
Go ahead and delete both files. Yes, BOTH. They will be recreated with the right size, and the server will star cleanly.
I am happy to report that MySQL Server 5.0 installs and runs correctly on Windows Vista (December 05 CTP).
I installed using the msi download. Configuration failed initially because of a permissions issue but re-running the configuration tool from a cmd prompt with "run elevated" let me continue through the my.ini config and started the MySQL service.
I attempted to install Mysql 5.0 for 64 bit on Windows Server 2003 64-bit edition. The installation package seems to have some issues on this platform. I was unable to get the MySQL daemon to run, for one thing; another, the auto-config wizard bailed at the end with a message about being unable to load libmysql.dll (despite copying it to c:\windows, c:\windows\system32, and c:\windows\syswow64). In addition, it didn't generate any log files or event log entries beyond simply telling me that "The MySQL service terminated unexpectedly." just after it entered the running state.
I was, however, able to install from the no-install ZIP without a hitch.
Ok this is the way I installed mysql in my windows xp.
-downloaded the mysql-noinstall-5.0.20-win32.zip
-unziped it under c:\mysql. now my new path to mysql is: C:\mysql\mysql-5.0.20-win32
- I added the C:\mysql\mysql-5.0.20-win32\bin into my windowsxp path.
- started the server for the first time as I mentioned in section:
2.3.9. Starting the Server for the First Time
- Added the mysql as a service to windowsxp with using one of pre-configured ".ini" (option file, see 2.3.7. Creating an Option File) files in "C:\mysql\mysql-5.0.20-win32" path.
as the following:
C:\mysql\mysql-5.0.20-win32\bin>mysqld-nt --install mysql5
--defaults-file=C:\mysql\mysql-5.0.20-win32\my-small.ini
- then test the service by using:
C:\mysql\mysql-5.0.20-win32\bin>mysqlshow -u root mysql
>>> resutl <<<
Database: mysql
Watch out for windows defender blocking mysqld --install.
took me a minute, but as I was just tinkering after a webcast with --log="path" on my install and it worked fine before I tracked it down in event log.
(allow in control panel->system explorer/windows defender)
Add your own comment.