The “error establishing a database connection” is probably one of the most common errors WordPress users can encounter. It’s closely tied to the white screen of death (WSOD). This error means your website is no longer communicating or has access to your WordPress database; thus, your entire website goes down.
Table of Contents
You should resolve this error immediately, as this can directly affect your sales, traffic, and analytics.
But don’t worry; today, we’ll discuss some common scenarios that cause this error and some easy ways to get your site back up and running in no time.
A database is a software which makes it easy to store, organize, and retrieve data into other software.
As a content management system, WordPress uses a database to store all your content and other website data. It then connects to the database each time someone visits your website.
WordPress needs the following information for connecting to the database:
- Database name
- Database Username
- Database password
- Database server
This information is stored in your WordPress configuration file called wp-config.php.
Troubleshooting Steps
To resolve the “Error Establishing a Database Connection” in WordPress, follow these troubleshooting steps:
Step 1: Checking the database credentials
The first thing to verify is whether the database credentials in your WordPress configuration file are correct. Check the wp-config.php
file and ensure that the database name, username, password, and host are accurate.
If you have not edited a wp-config.php file before, then take a look at our guide on how to edit a wp-config.php file in WordPress.
You’ll be looking for the following lines in the wp-config.php file.
1
2
3
4
5
6
7
8
9
|
// ** 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' ); |
You need to ensure that the database name, username, password, and host information is correct.
You can confirm this information from your WordPress hosting account dashboard. Simply log in to your hosting account and click on MySQL databases under the database section.
Step 2: Verifying the database server is running
Ensure the database server, such as MySQL or MariaDB, runs properly.
If you are confident that your database name, username, and password information is correct, then you may want to make sure that you are using the correct database host information.
Most WordPress hosting companies use localhost as your database host. However, some managed WordPress hosting companies use separate servers to host databases. In that case, your database host information will not be localhost.
Contact your hosting provider or use the control panel to check the status of the database server.
Step 3: Repairing the WordPress database
WordPress provides a built-in database repair feature that can fix common issues. Access your site via FTP, locate the wp-config.php
file, and add the following line of code before the line that says, “That’s all, stop editing!”: If you are getting a different error on the wp-admin, for instance, something like “One or more database tables are unavailable. The database may need to be repaired”, then you need to repair your database.
define('WP_ALLOW_REPAIR', true);
Save the file, then visit the following URL in your browser: http://www.example.com/wp-admin/maint/repair.php
(replace example.com
with your actual domain). Click on the “Repair Database” button to initiate the repair process.
Step 4: Checking for conflicting plugins or themes
Deactivate all plugins and switch to a default WordPress theme (e.g., Twenty-One) to rule out conflicts. If the error disappears, reactivate the plugins and themes individually to identify the culprit causing the connection issue.
If changing the theme doesn’t fix the “Error Establishing a Database Connection” problem, it might come from a corrupted plugin. In this case, try disabling all of your plugins and enabling them one by one to find the culprit.
Alternatively, you can deactivate all WordPress plugins by renaming the corresponding folder from your hosting control panel. Here’s how to do so.
hPanel
Go to the File Manager, open the public_html directory, and click on the wp_content folder. Then, rename the currently used plugins folder.
cPanel
Navigate to the File Manager menu on your cPanel dashboard. Click on public_html → wp_content and locate the plugins folder. Right-click on the folder, then choose Rename.
Doing so will disable all of your plugins at once. The same troubleshooting steps also apply to disabling all WordPress themes. However, make sure not to disable both the themes and plugins at the same time as this will make it much harder to figure out the root of the problem.
If the error disappears after renaming the plugins folder, it means that one of the plugins is the issue.
Once you’ve regained access to your site’s back-end, restore the plugins folder to its original name. This way, all of the WordPress plugins will still be inactive, but you can activate each one from the admin area.
Important! Don’t forget to delete the WordPress theme or WordPress plugin that causes the error.
That said, if none of the steps above work, try re-uploading the core files onto your WordPress site. To do this, download a fresh version of WordPress.
Step 5: Contacting your hosting provider
If none of the above steps resolves the issue, reaching out to your hosting provider’s support team is recommended. They can investigate the problem further and provide specific assistance related to your server configuration.
Detailed Troubleshooting Guide
Now let’s delve deeper into each troubleshooting step to understand better how to fix the “Error Establishing a Database Connection” in WordPress.
Step 1: Checking the database credentials
To establish a connection to the database, WordPress requires valid credentials. The wp-config.php
file contains this information and can be accessed via FTP or the hosting control panel. Verify that the database name, username, password, and host are correct. Even a minor typographical error can result in a connection issue.
Step 2: Verifying the database server is running
The database server, such as MySQL or MariaDB, must be up and running for WordPress to establish a connection. You can check the status of the database server by logging into your hosting control panel or contacting the hosting provider’s support team.
Step 3: Repairing the WordPress database
WordPress offers a built-in database repair feature that can automatically fix common issues. By adding a line of code to the wp-config.php
file, you can enable the repair mode. This allows WordPress to identify and repair any potential problems within the database.
You have the option to automate the repair process using phpMyAdmin. All you need to do is go to the cPanel → phpMyAdmin and select the database you want to repair.
Next, click on the Check all option and from the With Selection dropdown menu choose Repair Table. The database tables will start repairing themselves.
Step 4: Checking for conflicting plugins or themes
Conflicts between plugins or themes can sometimes disrupt the database connection. To identify if a plugin or theme is causing the error, deactivate all plugins and switch to a default WordPress theme. If the error disappears, you can gradually reactivate each plugin and theme until you find the one causing the issue.
Step 5: Contacting your hosting provider
If none of the previous steps resolves the error, you should seek assistance from your hosting provider. They have access to server logs and can perform more in-depth investigations to pinpoint the exact cause of the database connection problem.
Best Practices to Prevent the Error
While troubleshooting the “Error Establishing a Database Connection” is crucial, taking preventive measures can save you from encountering this issue in the first place. Here are some best practices to follow:
- Regularly back up your WordPress database: Having up-to-date backups ensures you can quickly restore your website in case of any unexpected errors, including database connection issues.
- Keep plugins and themes updated: Outdated plugins or themes can introduce compatibility issues, leading to database connection problems. Regularly update them to ensure they work seamlessly with the latest version of WordPress.
- Optimize your database for better performance: Utilize plugins or optimization techniques to optimize your database. Removing unnecessary data, optimizing queries, and reducing database bloat can enhance overall performance and prevent connection errors.
- Choose a reliable hosting provider: Selecting a reputable hosting provider with excellent uptime guarantees and responsive customer support can significantly reduce the chances of encountering database connection errors.
Conclusion
Encountering the “Error Establishing a Database Connection” in WordPress can be frustrating, but you can quickly resolve the issue with the right troubleshooting steps and preventive measures. By checking database credentials, verifying the server status, repairing the WordPress database, identifying conflicting plugins or themes, and seeking assistance from your hosting provider, you can restore your website’s functionality and ensure smooth operation.
Frequently Asked Questions
1. What causes WordPress’s “Error Establishing a Database Connection”? Incorrect database credentials, server downtime, or a corrupted WordPress database can cause the error.
2. Can I fix the error without technical knowledge? Yes, following the troubleshooting steps outlined in this article can resolve the error even without advanced technical knowledge.
3. How often should I back up my WordPress database? It’s recommended to back up your WordPress database regularly, preferably daily or weekly, depending on how frequently your website’s content is updated.
4. What should I do if I cannot identify the conflicting plugin or theme? Suppose you cannot pinpoint the conflicting plugin or theme causing the error. In that case, you can seek assistance from a WordPress developer or contact the respective plugin/theme support team for guidance.
5. Is it necessary to optimize the database even if I haven’t encountered any errors? Optimizing your database is a good practice regardless of encountering errors. It improves overall performance and helps prevent potential issues, including database connection errors.