For the most part, installing MySQL is pretty straight forward. The big thing is configuring the installed instance of MySQL with some settings which will help squeeze a bit more performance out of your Joomla site.
Installing MySQL
- Download MySQL (the essentials package is all you need). The most recent stable version is from the 5.0 development tree.
- Run the downloaded setup file.
- Select the option for a Typical setup.
- On the summary screen, click Install to complete the installation.

- Installation is now complete, now all that is left is to optimize MySQL for Joomla. Make sure the option to configure MySQL is checked and click Finish.

Optimizing MySQL for Joomla
When optimizing MySQL for your Joomla sites, the most significant configuration options should be set according to the resources your server has available. MySQL, like any database engine, can be very resource intensive as it can (and will if you configure it to) utilize almost all of your available memory and CPU. There still needs to be other resources available on the server for IIS and your email server (if it is installed on the same machine) to perform as well.
Here I am going to cover the options available in the MySQL Configuration Wizard with respect to Joomla. I am going to make the assumption your server has specs along the lines of a 2-CPU P3/P4 with 2 GB of RAM, so adjust accordingly.
- When prompted, select the option to configure / reconfigure the instance.
- Select the option for Detailed Configuration.
- For the type of machine, select Server.
- The table space settings really depend on your environment. Since the vast majority of operations performed on your Joomla database will be reads, from a pure performance standpoint. it is best to have your databases stored on a RAID 1 array. If you have your drives configured in a RAID 5 array, this will help performance as well versus a non-RAID drive.
Either option is a good one, but if you have a choice between RAID 1 and RAID 5 to store your databases, go with RAID 1 as it has a slight edge in read performance. - When prompted for the number of concurrent connections, select the option for manually selecting a value. A concurrent connection is defined as simultaneous connections to across all MySQL databases on the server, not just your Joomla databases. When specifying this value, keep in mind all other Joomla and MySQL powered sites as well as the memory available on your server. For the most part, a value of ~25 is good for a server hosting a few moderately sized sites and a value of 50-100 should cover a server which hosts several “reasonably” busy sites.

- On the networking option, leave the port to the default value of 3306 and make sure the options for strict mode is checked.
- Keep the standard character set. If you change this later (you shouldn’t have to though), you will have to reindex your databases.
- Make sure you install MySQL as a service! Additionally, check the box to include the MySQL in the PATH variable. This will allow you to run command line operations faster as you do not have to navigate to the installation directory to utilize the command line tool.
- Assign a strong root password. This is very important as a weak password compromises all your MySQL databases.
- When prompted, execute the installation script.

- Click Finish to close.
Now you should have a well tuned MySQL instance configured which will strike a happy balance with the other services running on your server. If you ever need to change these options, you can re-run this wizard by going to: Start > Programs > MySQL > MySQL Server > MySQL Server Instance Config Wizard.
After installing MySQL, there are a couple of tools you will probably want to get in order to help you administer both your Joomla database and MySQL as a whole.
- phpMyAdmin: Web based administration tool for MySQL which runs on PHP. It allows you to handle virtually all tasks for your databases.
- MySQL GUI Tools: Server level administration tool for MySQL.
Both of these tools are very useful, but not required. Personally, I would recommend both of them be downloaded and installed.