Rename directory C:\www\mysql-5.1.56-win32 to C:\www\mysql
Copy MySQL configuration file C:\www\mysql\my-medium.ini (or your choice of one of the other included my-*.ini files) to your %SYSTEMROOT% directory
Rename file %SYSTEMROOT%\my-medium.ini (or the copied over my-*.ini file) to my.ini
Edit %SYSTEMROOT%\my.ini
Under Sections "[client]" and "[mysqld]", edit...
socket = C:/www/tmp/mysql.sock
Under Section "[mysqld]", insert...
basedir = C:/www/mysql/
datadir = C:/www/mysql/data/
MySQL Server Binaries
MySQL ships with a number of server binaries to choose from. For standard/typical use and functionality, the preference is for server binary 'mysqld'.
mysqld.exe: Support for symbolic links, InnoDB and BDB transactional tables, and named pipes.
mysql-debug.exe: Compiled with full debugging and automatic memory allocation checking, symbolic links, and InnoDB and BDB transactional tables.
Startup
MySQL can be installed as a Service (automatic or manual start-up) or started as a standalone console application. The MySQL server can be configured to listen (and communicate) on all interfaces (0.0.0.0), the loopback (127.0.0.1), or any other address. The MySQL server can also be configured to skip networking (TCP/IP) and/or connect via named-pipes (sockets).
Install the MySQL process as a Service.
[Default] Listen on all interfaces (0.0.0.0)...
For MySQL automatic start (but not this first time):mysqld --installOr for MySQL manual start only:mysqld --install-manual
Other options (edit my.ini), section '[mysqld]', insert...
Listen on loopback only (127.0.0.1)...
bind-address=127.0.0.1
Do not use TCP/IP (IP addresses and ports) for connections, use named-pipes...
bind-address=localhostskip-networkingenable-named-pipe[Note option socket=C:/www/tmp/mysql.sock (default is 'socket=MySQL' for mysql and php) under sections '[client]' and '[mysqld]'; Make sure the specifed dir exists; Make sure to fill php.ini options mysql.default_socket = C:/www/tmp/mysql.sock and mysql.default_host = localhost; Use mysql_connect('localhost:/www/tmp/mysql.sock', 'user', 'password')]
Start the MySQL Service...
...> NET START MySQL
Start MySQL as a standalone console application.
C:\www\mysql\bin> mysqld --standalone --console
[option '--standalone': Dummy option to start as a standalone server; can be omitted and have the same effect]
[option '--console': Write error output on screen (as opposed to error log)]
Other command line arguments...
IP address to bind to:--bind-address=127.0.0.1
Bypass TCP/IP with named pipes:--skip-networking --enable-named-pipe --socket=mysql.sock
[option '--skip-networking': do not use TCP/IP -- only valid for localhost]
[option '--enable-named-pipe': allows connections to other NT machines without being dependant on a specific network layer (TCP/IP or IPX)]
[option '--socket=...': name of nt-pipe/socket to use for option '--enable-named-pipe']
Display all databases, accounts, and access controls to individual databases...
mysql> SHOW DATABASES;
mysql> SELECT User, Host, Password FROM mysql.user;
mysql> SELECT Host, Db, User, Select_priv FROM mysql.db;
Remove all initial accounts except 'root@localhost'; remove 'test' database and privileges set...
Remove anonymous users:mysql> DELETE FROM mysql.user WHERE User='';
Remove remote root:mysql> DELETE FROM mysql.user WHERE User='root' AND Host != 'localhost';
Remove test database:mysql> DROP DATABASE test;
Remove privileges on test database:mysql> DELETE FROM mysql.db WHERE Db = 'test' OR Db = 'test\\_%';
mysql> FLUSH PRIVILEGES;
Exit.
mysql> quit;
Running MySQL
All commands are run from the command line and directory C:\www\mysql\bin (unless the mentioned dir is under the PATH)
Enter the command-line interface...
> mysql -u root -p
Stop the MySQL Service (one of two ways)...
> NET STOP MySQL
> mysqladmin -u root -p shutdown
Uninstall the MySQL Service...
> mysqld --remove
Shutdown the standalone console MySQL application (one of two ways)...
> mysqladmin -u root -p shutdown[Note that this is done from another cmd.exe window] Ctrl-C under the cmd.exe window it was started from
Help
All commands are run from the command line and directory C:\www\mysql\bin (unless the mentioned dir is under the PATH)
Display the MySQL command-line interface (shell) options...
> mysql --help
Display mysqld options...
> mysqld --help
Display MySQL version information...
> mysqladmin -V
See what values a running MySQL server is using...
> mysqladmin -u -p variables
Display information...
> mysqladmin -u -p version status proc
Update password for MySQL user 'root' (from the MySQL shell)...
mysql> UPDATE mysql.user SET Password=PASSWORD('root-password') WHERE User='root';
mysql> FLUSH PRIVILEGES;