images

When I imported production database and configured code on my local dev machine, I got this error even I had updated wp-config.php with correct information. I fixed the problem after some changes. This article explains troubleshooting steps to fix this error.



1. First, Make sure, MySql is running. Open PhpMyAdmin and connect the database.
2. Check User has sufficient permission to connect database. For this, Create a test page say testconnection.php, put following code and run it.

<?php
$link = mysql_connect('localhost', 'root', 'password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?> 

3. If above code is working fine then Open wp-config.php, Make sure you have defined correct information, No additional spaces/tabs in following parameters:
DB_NAME
DB_USER
DB_PASSWORD
DB_HOST

4. For WordPress Multisite:

Suppose you have to configure wordpress in Xampp> htdocs > techbrij folder. The final URL would be

http://localhost/techbrij

then check DOMAIN_CURRENT_SITE, PATH_CURRENT_SITE and $base parameters in wp-config file.

DOMAIN_CURRENT_SITE: localhost(your dev server)
PATH_CURRENT_SITE: /techbrij/(your dev folder)

If It’s okay then open database and check wp_blogs and wp_site tables have correct domain name and path.

5. Open wp_options table and check HOME and SITEURL parameters, See here to configure production URL to dev URL.

6. Still getting error, turn off Multisite functionality in wp-config if exists and test.

define( ‘MULTISITE’, false);

7. Open admin side of WordPress and check whether it is connected or not. If it is connected means problem is related to plugin. Disable cache plugin or other one by one and test it.

Hope, It helps. If you have any other step or opinion to fix this, share it in below comment box.

Comments:  10

  • James Luff

    I’ve followed your instructions, everything checks out fine but I still get the “Error establishing database connection”. I have a clean WordPress install in another directory which works just fine. I’m stumped :-(

  • Century21

    Thanks
    我正需要這個~

  • Brian Fegter

    I found that my wp_options table was corrupted. Just run a REPAIR TABLE table_name and it should fix it if your connections are good.

  • http://www.geeklisten.com Mahesh

    Sometimes, I get this error on my WordPress site front-end, I haven’t faced such issue in the back end. This article will certainly help the WordPress users who are facing this database error.

    Thanks for the tip !

  • http://www.bonaventuradibello.com Bonaventura Di Bello

    Sorry for being eventually dumb, I get a “Warning: mysql_connect() [function.mysql-connect]: Access denied for user ‘root’@'localhost’ (using password: YES) in /home/triod039/public_html/testconnection.php on line 2

    Could not connect: Access denied for user ‘root’@'localhost’ (using password: YES)” message launching the php script, do I have to change the three values (‘localhost’, ‘root’ and ‘password’) using the ones in my configuration? I miss the point :(

  • Anonymous

    any new thoughts about this?
    I can’t get any connections, or anything to work for that matter. I’m stuck with the db connection step.
    Desperate! 

  • Tom Clarke

    It may sound silly… but check your cookies too! I just spent ages trying to fix this but foolishly had not checked in another browser (a cardinal rule!). Cleared cookies and the error is gone.

  • Domiziano Galia

    After half a day spent uselessly I found out that I had the same problem. A Repair Table on wp_options worked it out. But I still don’t get what happened (last time I managed the site was working ok) and if there’s a fast way to understand that a table is corrupted. Thanks.

  • Anonymous

    I think that step 7, “problem is related to plugin” is my main issue.

    My site was working couple minutes ago, then suddenly I got the “Error Establishing a database connection…”

    Thanks for these tips, will disable plugins one by one and test it again. Hopefully it will works

    Really appreciate it:)

  • Kdermendzhiev

    I need my multisite working, but it doesn’t work.