The error establishing database connection is one of the most common WordPress errors. If you have experience with WordPress, you probably may have already encountered this error. If not, don’t worry—we will help you understand and fix this error step by step.
The issue with this error is that it is a critical error, which means users will not be able to access the content of your site until you fix this error. This can occur for several reasons, so let us understand the most common ones. So let us dive deep into the issue and understand how to fix it.
What Causes the Error of Establishing a Database Connection in WordPress?
Now that you have understood the issue, it’s time to understand what causes it. To run a site we need two main things in WordPress –first one is the site content and second is the database. If any of them is not accessible or has a critical error, users will not be able to access the site.
WordPress uses a database to store the site’s content. Each time when the user visits the site, the browser sends a request to the server hosting the database. If the server, for some reason, is unable to communicate with the browser, the user gets the “Error establishing a Database Connection” error. Some of the main reasons for the server not being able to communicate with the browser are as follows –
Incorrect Database Login Credentials
WordPress needs the following information to connect to the database –
- Database Name
- Username
- Password
- Hostname
In WordPress, these values are usually enetered in wp-config.php file present in the root directory of WordPress. In case any of these values are mismatched, server is not able to connect with the client browser and user gets the “Error establishing a database Connection” error.
The wp-config.php file contains all the information about the database username etc. If you have not done something like this before then you should copy the data in a notepad file so that you can restore the file in case of inconvenience. The database info fields should look like this –
1 2 3 4 5 6 7 8 9 10 11 12 13 |
/** 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' ); |
Corrupted Database
A corrupt database is also one of the major reasons for this error. During processes such as migration, saving large quantity of data or dealing with media files, there is a high possibility that something unexpected happens during these memory intensive operations leading to database being corrupted.
Corrupt WordPress Core Files
Another prominent cause of “Error Establishing a Database Connection” error is WordPress files itself getting corrupted. There can be several reasons for files getting corrupted with a hack being the mos prominent one. Some of the core files can get infected leading to server not working. Malware injections and DDOS attacks are some of the most common attacks causing these issues.
Database Server Problem
Server downtime or overloaded resources on the hosting side can also trigger this error. In case the server is down due to maintenance or there has been an unforeseen outage, the servers are not able to respond to client-side browser requests.
Now then we have gone through some of the major causes of the database connection error, let’s now head over to actions we can take in order to fix this “Error Establishing a Database Connection” error.
How to Fix the “Error Establishing a Database Connection” in WordPress
Before proceeding, I strongly recommend that you back up your site so that you may not lose your hard work. Since you don’t have access to your WordPress dashboard in case of this error, the best way to back up your site would be through phpMyAdmin. In case you are not able to do it yourself, I would recommend contacting your hosting provider.
Now, let’s see the measures we can take to fix this error.
Check Login Credentials
Incorrect database login credentials are a leading cause of this error, especially when transferring WordPress sites to a new server. As mentioned above, these are present in the wp-config.php file in WordPress’ root directory. Just verify if your database credentials are correct. In the wp-config.php file –
1 2 3 4 5 6 7 8 9 10 11 12 13 |
// The name of the database for WordPress define('DB_NAME', 'your_database_name'); // Database Username define('DB_USER', 'db_user'); // Database Password define('DB_PASSWORD', 'your_database_password'); // Hostname define('DB_HOST', 'localhost'); |
Check host information
As you have checked the login credentials and are certain that it is correct, you should check the database host now. The chances are high that your hosting company is using localhost as a host. If it’s not then you should contact your hosting provider.
>Repair Corrupted Database
Another step is to repair the WordPress database. If this happens then you will see the message in the WordPress Dashboard. The solution here is to repair the database. Luckily WordPress comes with a built-in tool to repair the database. You need to add a line in the file wp-config.php which is mentioned below, copy the exact following line of code –
1 2 3 |
define('WP_ALLOW_REPAIR', true); |
After this, you will see the repair database button in the front end if you visit this page http://www.yoursite.com/wp-admin/maint/repair.php. Click the button “Repair Database” button and you are good to go. This can be done through the hosting panel by going to the database panel.
Once the process is done, remove the line of code that we added earlier.
Replace Corrupted Files
Sometimes corrupted core files are the culprits, especially if unauthorized changes have been made to WordPress files. You can replace these files with a fresh copy of WordPress without affecting your site content.
As you have a backup of your site you should now replace the core files with fresh new ones. Download the fresh copy of WordPress and delete the wp-content folder after extracting it. Once done upload the rest of the files in the server using SSH or FTP as per your convenience.
This will replace the corrupted files and should fix the issues caused by corrupted files. Don’t forget to clear the cache after this.
Restore Backup
If none of the methods works then you should restore the latest backup that you have on your computer. Many of the hosting companies back up the sites regularly. You should restore the most recent backup.
Contact Hosting Provider
If all else fails. As you have tried the most relevant methods but didn’t get the solution, it is recommended to contact the hosting provider. Almost all the hosting providers come with support. You should contact them as they can help you the most in such cases.
Additional Tips to Avoid Database Errors in WordPress
- Update WordPress Core, Themes, and Plugins regularly – Keep everything up-to-date to avoid vulnerabilities.
- Use Well-Coded Plugins and Themes – Before installing any plugin or theme check for its reviews, security and compatibility.
- Schedule Regular Backups – Use tools like UpdraftPlus or BackupBuddy and keep the backups in your local computer.
- Monitor Database Health – Use tools like WP-DBManager to keep your database optimized and reduce the risk of corruption.
Final Thoughts
So, that was it. In this article discussed how to fix “Error Establishing a Database Connection” error in WordPress using a step-by-step approach. This error can seem irritating as it prevents users from accessing the site content, but following these steps should help you restore your site quickly. Also, a user cannot even access their WordPress dashboard to troubleshoot the issue at their end.
Remember, identifying the exact cause may take a bit of time, as there are many reason that causes the issues. But by systematically going through each solution, you’ll address both immediate and underlying issues that can impact your WordPress site’s stability and performance.
By securing regular backups and maintaining your WordPress site, you can reduce the chances of facing this error in the future.
Hope you learnt something from this article. For more such insightful articles diving into WordPress and Web Development, you can check out our blog where we post similar content regularly. See you in the next article!