Troubleshooting: Joomla 3.x installation hangs during the “Creating database tables” step

Troubleshooting: Joomla 3.x installation hangs during the “Creating database tables” step

This has become a very common issue for those who try to install Joomla! locally using XAMPP and WAMP. The installation process (as seen from the pulsating status bar) just keeps on running and running forever without any result. When you take a look at the tables in the database

Using phpMyAdmin (localhost:phpmyadmin -> then click on the correct database from the tree menu on the left), you will probably see that roughly 21 or so tables (of a total of about 68) have been created, the last one likely being ‘...finder_links_terms4’. Remember that if you changed the port settings (from the default 80 to another port), you will have to add that value along with a : after 'localhost' (for instance localhost:1180). You can refer to my article from February 12, 2014 if you have done or need to do this. In order for all tables to be imported, you must do a manual installation which involves changing the table prefixes first (which have #__ by default) and then importing the tables. Luckally it isn’t nearly as complicated a procedure as it sounds. Here’s how it’s done:

  1. Open the file joomla.sql located in: ../mysite/installation/sql/mysql/joomla.sql with your Windows text editor or another text editor such as Notepad++.
  2. Search for the following characters (tables prefix) in all of the file:
  3. #__
  4. Replace all these automatically, with something you like, for example:
  5. Make sure that the prefix you choose is not already in use, i.e. shared by other tables.

    replace with

    There should be around 260 occurrences of replacement. Save the file.

  6. Open the phpMyAdmin interface, click on the ‘Import’ tab. Browse your local files for the joomla.sql file ( ../mysite/installation/sql/mysql/joomla.sql) and select it for import. Click ‘Go’ at the bottom of the page. A message should appear indicating the successful import of your tables. The database should now contain all 68 tables (click on the database to see the list of tables or go to the ‘Structure’ tab).
  7. Open the configuration.php-dist file of Joomla! located in ../mysite/installation/configuration.php-dist
  8. Edit the file with the correct values to fit your database and tables, for example:

  9. /* Database Settings */
       public $dbtype = 'mysql';    // Normally mysql
       public $host = 'localhost';    // This is normally set to localhost
       public $user = 'root';    // DB username
       public $password = '';    // DB password
       public $db = 'mysite';    // DB database name
       public $dbprefix = 'j_';    // Do not change unless you need to!   (Actually, you need to, e.g. 'j_' or 'hi_' etc.)

    You should also fill in the user and (if assigned) the password for the datebase connection, and save the file as ‘configuration.php' file in the Joomla! root folder (i.e. one level higher).

  10. Go to localhost/mysite and test your Joomla! installation. If all went well, you should see a message telling you that the installation was a success, underneath which there are two buttons for visiting the site and the administrator/backend. Click on ‘Administrator’ to arrive at the backend login page.
  11. Since you did not install Joomla! by using the web installer, you did not create any (super) users. You will have to add yourself as an administrator manually using phpMyAdmin. Go back to localhost/phpmyadmin (include a colon followed directly by the port number only if you changed this manually in the Apache httpd.config file) or click the ‘Admin’ button for MySQL in the XAMPP control panel and follow the instructions in my article "Troubleshooting: Cannot log into the backend after manual installation -> Create new user using phpMyAdmin".

For further support and questions please use the comment form below.
Enes Ertugrul

Enes Ertugrul

Founder of Optimum Theme. Joomla addict. Loves travelling. Lives in Istanbul.

blog comments powered by Disqus
Web Hosting