Are you getting the dreaded “error establishing a database connection” message?
If you are familiar with WordPress, you must have seen this message at least once.
It is one of the biggest headache of a webmaster and God forbid your website visitor sees this message, you will lose that visitor and the revenue you could have earned.
How could we solve this problem? is it a simple fix? maybe a change of host might fix the error.
Let us rid your website of this error for good.
What Does “Error Establishing a Database Connection” Mean?
WordPress is written using PHP and MySQL.
Website information is stored in a MySQL database, and PHP is used to store and retrieve that information from the database.
When you get the “Error establishing a database connection”, it means that for something is preventing the PHP code from connecting with your MySQL database, and that leads to “Error establishing a database connection”.
Possible Causes of “error establishing a database connection” error
There are a couple of reasons is having issues connecting to your database, here are the most common reasons for an error establishing a database connection message.
1. Wrong Database login details
If the username or password defined in your wp-config file is not correct, there will be no connection to the MySQL database.
– Access the root folder of your WordPress installation
– Download WP-config file
– Open file with text editor
– This is what you need to check
// ** MySQL settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define( 'DB_NAME', 'database_name_here' ); /** MySQL database username */ define( 'DB_USER', 'username_here' ); /** MySQL database password */ define( 'DB_PASSWORD', 'password_here' ); /** MySQL hostname */ define( 'DB_HOST', 'localhost' );
- (“DB_NAME”) – Database Name
- (“DB_USER”) – Database Username
- (“DB_PASSWORD”) – Database password
- (“DB_HOST”) – Database host
The correct credentials should be entered inside the inverted commas e.g replace – ‘database_name_here’ with “wpseerdb”
The correct details is under your host panel. Hosting companies use different panels. The best way to get the correct details is to ask your host or check their support documentation for details on how to get your correct details.
– Save changes if any, and
– upload to the root folder of your WordPress installation
– Replace existing file if prompted.
2. Corrupted Database
Another potential cause of an “error establishing database connection” message or any other similar database error you might encounter is a corrupted database.
– Open the root folder of your WordPress installation
– Download your wp-config.php file
– Open the wp-config file
– Add this line of code to the bottom
define( 'WP_ALLOW_REPAIR', true );
– save changes
– upload the file
– type in “www.yourwebsite.com/wp-admin/maint/repair.php” in your browser (replace “yourwebsite.com” with your URL).
– This lead to the prompt below:
– Click on either, repair database or repair and optimize database (takes longer).
– once the repair is done
– remove the line of code you added to wp-config.
– As long as the code is there, anyone can access the page you just accessed.
This is always the first place I look when I have issues relating to database or any performance issue, 60% of the time it is caused by your host.
If you are on a shared hosting plan, the most like cause is either your host, if the problem persists after you exhausted the other options, check you host.
You are exceeding your hosting plan
If you are exceeding your memory allocation, or the resources allocated to your website, you will definitely get database errors.
– Upgrade you plan
– If the problem persists, change hosts.
– consider hosts focused on WordPress.
Reduce plugin abuse
If you are on a shared hosting plan, you have to learn how to use your resources efficiently.
This is a very useful guide on plugin abuse: Popular WordPress Plugins To Avoid on Shared Hosting
– Use plugins only when required; if you can do without a plugin, do not use a plugin.
– Disable the plugins that serve as tools when you are not using them; Broken link checker, Image optimizer’s
– Stay away from themes that try to do too much; functions are best served by plugins.
– Stay away from plugins or themes that are not regularly updated.
– Use plugins from respected theme authors, they have cleaner code.
The obvious solution is to upgrade your plan, but I will be looking for another host if this error persists.
Are you serving large media files? take some load off your server by getting a Content delivery network to serve those files to your visitor.
Here is an excellent guide to help you make the right choice – Best CDN For WordPress: Which one is right for you?