The MySQL server can be started manually from the command line. This can be done on any version of Windows.
To start the mysqld server from the command line, you should start a console window (or “DOS window”) and enter this command:
C:\> "C:\Program Files\MySQL\MySQL Server 5.4\bin\mysqld"
The path to mysqld may vary depending on the install location of MySQL on your system.
You can stop the MySQL server by executing this command:
C:\> "C:\Program Files\MySQL\MySQL Server 5.4\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.
If mysqld doesn't 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
C:\Program Files\MySQL\MySQL Server
5.4\data
directory. It is the file with
a suffix of .err
. You can also try to start
the server as mysqld --console; in this case,
you may get some useful information on the screen that may help
solve the problem.
The last option is to start mysqld with the
--standalone
and
--debug
options. In this case,
mysqld writes a log file
C:\mysqld.trace
that should contain the
reason why mysqld doesn't start. See
MySQL
Internals: Porting.
Use mysqld --verbose --help to display all the options that mysqld supports.
User Comments
if you don't mind having the winmysqladmin tool sitting in your taskbar, you can use the start command:
> start c:\mysql\bin\winmysqladmin
This will give you the prompt back.
Since my windows dev machine handles multiple environments, I need this in a bat script to start my web environment with a single move:
start c:\mysql\bin\winmysqladmin
"c:\program files\apache group\apache\apache" -k start
exit
Then have the shutdown script do the reverse to stop them both.
Mike
I have tested the following script in a batch file to start both apache and mysql in a development machine (windows 98 platform).
start c:\apache\apache
start c:\mysql\bin\mysqld-opt
To shutdown both apache and mysql i used the folloing script:
c:\apache\apache -k shutdown
c:\mysql\bin\mysqladmin -u root shutdown
Works fine for me.
The above command-line examples try to execute commands with spaces in the path; such commands should be quoted:
C:\> "C:\Program Files\MySQL\MySQL Server 4.1\bin\mysqld"
There is no mysqld.exe in the bin folder in the version that I installed. So mysqld does not work from the console.
But mysqld-nt.exe is there. Shouldn't the documet be updated?
Others have mentioned methods for using batch scripts for Apache and MySQL. If you have both servers installed as services, you can simply use:
net <action> <service-name>
So in my case, to start Apache and MySQL I use this batch file:
net start Apache2
net start MySQL
and to stop them, this one:
net stop Apache2
net stop MySQL
This avoids any nastiness with filenames, command options, or directory paths.
If you don't know the names of the services on your machine, check them in the Services MMC snap-in ("services.msc" from the Command Prompt or in Start -> Run...). You should also set them to run manually here, so that they start only when you want them to.
Add your own comment.