How to Debug the WordPress “Error Establishing Database Connection”?

WordPress is one of the best platforms to create websites and blogs. You can create any sort of domain and use it for your business, blogs, affiliates, etc. You can gain lots of traffic if you play the right cards.

But in recent days, many WordPress website users have been facing a common issue. If your WordPress website says “Error Establishing Database Connection”, you DO NOT take that lightly. This a serious issue and necessary steps need to be taken to solve it.

To help you solve this issue, we need to go to the root of the problem first. In this article, we will be discussing why this error establishing database connection occurs, what are some common scenarios that might cause this, and the steps you can take to debug this and recover your data. So without further ado, let’s get right into it!


What does Error Establishing Database Connection Mean?

WordPress users face many issues with their websites. Most of these issues are related to the server. One of the biggest issues they face is seeing Error Establishing Database Connection on their dashboard.

If you see “Error Establishing Database Connection” on your screen, it means your website is not able to communicate with or access your WordPress database. As a result, your website goes down.

Most of the information on your WordPress website is stored in the MySQL database. These include your post data, page data, plugin settings, login information, meta information, etc. The kind of data that it does not store our images, site theme/plugin/core files.

What does Error Establishing Database Connection Mean?

Source: https://websitesetup.org/error-establishing-a-database-connection/

In normal conditions, when someone visits your site, the PHP runs the code, accessing information from your database and displays to the visitor. But when this error occurs, you are left with a nearly blank page saying “Error Establishing Database Connection”

This means, your website is unable to access the files stored in your MySQL database, thus causing the website to crash.

Why Does it Occur?

Now that we know what the issue exactly is, let’s talk about the reasons it may occurs. The aforementioned error may occur due to a number of reasons. If we can point out the causes and understand the issue, we can easily prevent it and debug it if necessary. The reasons this issue may occur are explained below.

Incorrect database credentials

Most of the time, the reason behind this error is that the database login credentials are incorrect. Sometimes, when the website hosting environment is changed, the login credentials may get a little messed up. Although this shouldn’t be happening, it is rather common among the people who suffered from this issue.

Your database login credentials are stored in the wp-config.php file. If any of the information in that file such as, database name, username, password, or database host is incorrect, you will face this error.

Corrupted database

A database getting corrupted is more common than you think. If you have been trying to login to your WordPress website’s dashboard and you see the error text, chances are the database has been corrupted. There are many corrupted themes and plugins on the internet that could potentially corrupt your database if installed.

Sometimes users will constantly install themes and plugins and delete them, and then reinstall them constantly. And what happens is, they might install a corrupted file which endangers their database information.

Traffic Spike and Database Overload

If your website is attracting a lot of traffic, sometimes it may overload the database causing an error. Your database can also become unresponsive or slowed down due to an overload of concurrent connections.

In some cases, if there are multiple hosts for the website, using the same resources on the same server can also cause this crash. This usually occurs if there are limits set on the servers by the host. If there are more than one site using the same server, the SQL server may go down due to overload as well.

In short, any sort of overload is capable of making the database connection unresponsive.


How Do You Debug it?

Now that we have laid out the reasons and causes, it’s time to find out a solution to this issue. We suggest you take the following steps in order to debug this major error. If you follow the steps we mention, it should solve your problems related to the database connection error and any further issues that may occur regarding the database. The steps you should take are described below in detail.

Step 1: Check Database Login Credential

As we have mentioned above, having incorrect database login credentials may cause this error. So what you need to do is, check the login information from the wp-config.php file.

Check Database Login Credential

In order to access this file, we recommend using the WordPress File Manager in your hosting panel. A lot of people will suggest using an FTP client for this task, but those are less reliable. However, you can use an FTP site if the WordPress File Manager is unresponsive for any reason.

Check Database Login Credential-2

First, go to File Manager and find the /public_html/ folder, then right-click and select edit on the wp-config.php file. You should be able to see your database name, username, password, and host information. The database host is typically the localhost in most cases and you will also find the IP address of the local host in that file.

Check Database Login Credential-3

Then check your MySQL database and look for your current login information. If the information in wp-config.php and MySQL don’t match, edit the wp-config.php file to match the MySQL’s information.

Step 2: Repairing Corrupt Database

As we have said before, if while logging into your site’s dashboard you receive the error: “One or more database tables are unavailable. The database needs to be repaired”, the database might be corrupted. Is there any solution to this? Yes, the database must be repaired (obviously). But how are we going to do that, you may ask?

Repairing Corrupt Database

WordPress has its own database repair mode. At first you need go back to the wp-config.php file and add “define(‘WP_ALLOW_REPAIR’, true);” to the bottom of the file.

Then browse to this location on your site: “https://yourdomainname.com/wp-admin/maint/repair.php”. You will get two options for repair: repair the database and repair and optimize the database. We recommend you go with repair database because it’s quicker.

After the process is done, you want to open your site to check if the repairs were actually made or not. You need to figure out whether this worked or if you will need to take any other steps.

If you find any errors, you might have to restore a previous database from a backup. But if you find no errors, that means we still have not found the root of this problem and there could be an intermittent issue that we are not noticing.

Step 3: Check Database Server Status

You need to check if your database server is running well or not. If the database server is down, it’s probably because of activity overload (as we previously mentioned).

If you have more than one website running on the same server, you can check the other sites to confirm the status of your SQL server. But if that is not the case, and you only have that particular site on that server, try accessing phpMyAdmin and connect the database.

If you are able to connect, make sure to verify the permissions on your database and then create a new file called testconnection.php and paste this code in the file.

<?php
$link = mysqli_connect('localhost', 'username', 'password');
if (!$link) {
die('Could not connect: ' . mysqli_error());
}
echo 'Connected successfully';
mysqli_close($link);
?>

Replace the username and password with your information and then upload the file to your website.

Step 4: Update WordPress Site URL and Reboot Server

Sometimes updating the WordPress site URL can help fix this error. What you need to do is access phpMyAdmin from your hosting dashboard and select your WordPress database.

Change the URL by clicking on SQL menu and enter this code:

UPDATE wp_options SET option_value='YOUR_SITE_URL' WHERE option_name='siteurl'

Make sure to provide your site’ URL and change wp_options to your own table name similar to WordPress table prefix.
If this doesn’t help, try rebooting the webserver. You can do so using dedicated servers, local servers or virtual private servers to reboot your server. This should eradicate temporary glitches that are causing the error by restarting your web and database server.

Step 5: Restore Backup

Restore Backup

Source: https://websitesetup.org/error-establishing-a-database-connection/

As we had mentioned before, the core WordPress files may get corrupted for various reasons. Maybe there had been a hacking attempt on your site, maybe you had accidentally modified some files yourself, or maybe a corrupted plugin did the modification.

We recommend you only do this if it’s not an issue for you to possibly losing some data between now and when you last backed up your data. Check if your web host has its own auto-restore process to see when the last time your data was backed up was. You might have to restore both your database and your files

Step 6: Ask for Help (Bonus)

There is absolutely no shame in asking for help from an expert. What you can do is, contact your web hosting company or customer support team and let them know you are facing this issue.

Almost every time they do have a solution to these problems. They should be able to easily troubleshoot the connection errors you are facing. They can either fix it themselves or show you how you can fix it yourself.

So if the steps we mentioned don’t really help you fix this error, make sure to contact the hosting company or customer support for help.


How to Avoid Future Errors?

We have talked about the causes of this issue and solutions to this issue. But it is said that “prevention is better than remedy”. So we advise you to take preventive measures so this error never occurs or even if it occurs, you can debug it easily and get access to all your data with ease.

Keep Backups

There’s no alternative to keeping backups in case something goes wrong. Something can go wrong and does go wrong. So it’s better to be on the safer side. Make sure you always have a working WordPress backup that you can restore if these errors occur in the future.

Keep track of your WordPress web host has an automatic backup and restore option, and check how much information has been backed up regularly. Keeping your backup up to date will also speed up the debugging process if something goes wrong again. So make sure you regularly back your up to avoid loss of information.

Improve Hosting

If your hosts are not high quality, you might want to reconsider them. Work with the hosts who have integrated and optimized their platform with WordPress. This way, you will be able to access legitimate support and quick help.

Working with such hosts will actually reduce such common problems by many folds as they already have solutions to most problems WordPress users face.


Final Words

So that’s basically all there is to it. We explained every step you need to take to eliminate this error in the most comprehensive way possible. Hopefully, we were able to help you find the solution to the issue you are facing.

If you are facing the Error Establishing Database Connection, make sure to follow the steps we have mentioned in a proper way to debug this error. This should be enough to solve your problem.

Also, make sure to take measures to prevent these issues from happening or at least keep backups of all your important database files so you can access them after rebooting the server.

We hope you learned something new about WordPress today and we were able to provide you enough information and a good read. Hopefully, now, you will be able to debug the Error Establishing Database Connection issue.