Skip to content
← Back to Blog

How to Fix “Error Establishing a Database Connection” in WordPress

WordPress can't connect to its database. Here's what that means, how to check your wp-config, and when it's a hosting problem.

Members are calling—they can't renew their memberships. Event registration just went offline fifteen minutes ago, right in the middle of early-bird sign-up. Your staff is refreshing the homepage and getting the same error over and over. This is a database connection failure, and it's total.

When your association's WordPress site shows "Error Establishing a Database Connection," your site is completely offline. Members can't log in. Events can't load. Registration is down. This is a critical error, but it's usually fixable in minutes once you know where to look.

What This Error Means

WordPress stores all your association's data—member profiles, event registration, renewal information, contact records—in a MySQL database. This error means WordPress tried to connect to that database and failed. Your site can't function without this connection.

The good news: this error is usually one of three things, all fixable: wrong credentials in your configuration file, the database server is temporarily down, or your hosting provider made changes to your database access.

Common Causes

These are the most frequent culprits. We'll walk through a diagnostic to isolate which one is affecting your site.

  • Incorrect database credentials — Your database username, password, or host name is wrong in wp-config.php
  • Database server is down — Your hosting provider's database server is experiencing an outage
  • Database user account disabled — Your hosting provider disabled your database user (sometimes due to security lockout or account issues)
  • Hosting migration or server changes — Your host moved your account to a new server and database credentials changed
  • Database quota exceeded — Your database hit a storage or connection limit
  • Corrupted wp-config.php — The configuration file was accidentally edited or truncated

Step-by-Step Diagnostic

Step 1: Check Your Hosting Provider's Status

Before you edit anything, check if your hosting provider has a status page or maintenance notice.

  • Log into your hosting control panel (cPanel, Plesk, or your provider's dashboard)
  • Look for status messages or maintenance notifications
  • Check your email for messages from your hosting provider
  • If there's a database server outage, wait 15-30 minutes and try again

If your hosting provider reports everything is normal, move to Step 2.

Step 2: Verify Your Database Credentials

Your database connection details are stored in wp-config.php. This file is at the root of your WordPress installation.

  • Connect to your hosting account via SFTP or file manager
  • Open wp-config.php in a text editor
  • Find these four lines:

define('DB_NAME', 'your_database_name');

define('DB_USER', 'your_database_user');

define('DB_PASSWORD', 'your_password');

define('DB_HOST', 'localhost');

Now, verify these credentials match what's in your hosting control panel.

Step 3: Find the Correct Credentials in Your Hosting Panel

For cPanel (most common):

  • Log into cPanel
  • Look for "MySQL Databases" or "Database"
  • Find your database name, username, and host name listed there
  • Compare these to what's in wp-config.php
  • If the DB_HOST is "localhost" but your control panel shows something like "mysql.example.com," that's likely your problem

For other hosting providers, the location varies. Your hosting provider's support documentation will show you where to find these credentials. Many providers also include this information in your welcome email.

Step 4: Verify the Database User Has the Correct Permissions

Even if credentials are correct, the database user might not have permission to connect. In cPanel:

  • Go to "MySQL Databases"
  • Look for "MySQL Users" section
  • Find the user listed in your wp-config.php
  • Check if that user is assigned to your database
  • If it's not assigned, click the user, check the database box, and save

Step 5: Reset the Database Password

If you've verified the credentials and the database user has permission, the password might have been reset or corrupted. Reset it:

  • In cPanel, go to "MySQL Databases"
  • Under "Current Users," find your database user
  • Click "Change Password"
  • Set a new, secure password (no special characters that could break PHP syntax)
  • Update wp-config.php with the new password
  • Test your site

Important: Use only letters, numbers, and underscores in database passwords. Special characters like quotes or backslashes can break the connection string.

Step 6: Test the Connection

After making any changes, wait 2-3 minutes for the changes to propagate, then refresh your WordPress site. If you still see the database error, check the debug log (as described in our critical error post) to see what the actual connection error is.

When to Call a Professional

Stop here if any of these apply. The issue has moved beyond standard credential troubleshooting.

  • You've verified credentials, reset the password, and your site still won't connect
  • Your hosting provider says the database server is up but WordPress can't reach it
  • You recently migrated to a new host and database migration failed
  • You're not comfortable accessing your hosting control panel or editing wp-config.php
  • Your members are locked out and your association's event registration and member portal are completely down

Emergency Database Recovery for WordPress

If your association's site is down with this error and your hosting provider isn't helping fast enough—especially if members can't access the portal or event registration is offline—reach out. We handle emergency database recovery and diagnosis for association WordPress sites. We'll get you back online with a clear explanation of what happened and how to prevent it next time.

Contact us and we'll prioritize your recovery. Most database connection errors are stabilized within 2-4 hours.

Read our full emergency support or Contact us.

83 Creative

We're a web development studio that works exclusively with trade associations, professional societies, and membership organizations.

← Previous Article How to Fix “There Has Been a Critical Error on This Website” in WordPress