2.3.8 Windows Postinstallation Procedures

GUI tools exist that perform most of the tasks described in this section, including:

On Windows, you need not create the data directory and the grant tables. MySQL Windows distributions include the grant tables with a set of preinitialized accounts in the mysql database under the data directory.

Regarding passwords, if you installed MySQL using the Windows Installation Wizard, you may have already assigned passwords to the accounts. (See Section, “Using the MySQL Installation Wizard for Microsoft Windows”.) Otherwise, use the password-assignment procedure given in Section 2.12.4, “Securing the Initial MySQL Accounts”.

Before assigning passwords, you might want to try running some client programs to make sure that you can connect to the server and that it is operating properly. Make sure that the server is running (see Section, “Starting MySQL Server on Microsoft Windows for the First Time”). You can also set up a MySQL service that runs automatically when Windows starts (see Section, “Starting MySQL Server as a Microsoft Windows Service”).

These instructions assume that your current location is the MySQL installation directory and that it has a bin subdirectory containing the MySQL programs used here. If that is not true, adjust the command path names accordingly.

If you installed MySQL using the Windows installation Wizard (see Section, “Using the MySQL Installation Wizard for Microsoft Windows”), the default installation directory is C:\Program Files\MySQL\MySQL Server 5.1:

C:\> cd "C:\Program Files\MySQL\MySQL Server 5.1"

A common installation location for installation from a Zip package is C:\mysql:

C:\> cd C:\mysql

Alternatively, add the bin directory to your PATH environment variable setting. That enables your command interpreter to find MySQL programs properly, so that you can run a program by typing only its name, not its path name. See Section, “Customizing the PATH for MySQL Tools”.

With the server running, issue the following commands to verify that you can retrieve information from the server. The output should be similar to that shown here.

Use mysqlshow to see what databases exist:

C:\> bin\mysqlshow
|     Databases      |
| information_schema |
| mysql              |
| test               |

The list of installed databases may vary, but will always include the minimum of mysql and information_schema.

The preceding command (and commands for other MySQL programs such as mysql) may not work if the correct MySQL account does not exist. For example, the program may fail with an error, or you may not be able to view all databases. If you installed using the MSI packages and used the MySQL Server Instance Config Wizard, then the root user will have been created automatically with the password you supplied. In this case, you should use the -u root and -p options. (You will also need to use the -u root and -p options if you have already secured the initial MySQL accounts.) With -p, you will be prompted for the root password. For example:

C:\> bin\mysqlshow -u root -p
Enter password: (enter root password here)
|     Databases      |
| information_schema |
| mysql              |
| test               |

If you specify a database name, mysqlshow displays a list of the tables within the database:

C:\> bin\mysqlshow mysql
Database: mysql
|          Tables           |
| columns_priv              |
| db                        |
| event                     |
| func                      |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| host                      |
| ndb_binlog_index          |
| plugin                    |
| proc                      |
| procs_priv                |
| servers                   |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |

Use the mysql program to select information from a table in the mysql database:

C:\> bin\mysql -e "SELECT User, Host FROM mysql.user" mysql
| User | Host      |
| root | localhost |

For more information about mysql and mysqlshow, see Section 4.5.1, “mysql — The MySQL Command-Line Tool”, and Section 4.5.6, “mysqlshow — Display Database, Table, and Column Information”.

If you are running a version of Windows that supports services, you can set up the MySQL server to run automatically when Windows starts. See Section, “Starting MySQL Server as a Microsoft Windows Service”.