Fix Error Establishing a Database Connection in WordPress (2025 Guide)
A production-ready workflow to restore WordPress database connectivity, repair corrupted tables, and prevent future outages across hosting stacks.

I have resolved hundreds of production outages caused by the WordPress error establishing a database connection while supporting Rocket.net, Hostinger, and NameSilo customers. This is the playbook I rely on to bring sites back online quickly and safely.
Overview and Quick Fix Summary
- In a rush? Make these checks before diving into deeper repairs.
- Confirm database credentials inside `wp-config.php`.
- Verify that MySQL is online and accepting connections.
- Repair or optimize tables that are marked as crashed.
- Temporarily disable plugins and themes introduced before the outage.
- Back up the database so you can roll back if needed.
Common Causes Explained
- The database error is a symptom. These are the triggers I encounter most often.
- **Incorrect credentials:** Mistyped database name, user, password, or host values.
- **Corrupted tables:** Power loss or a plugin conflict marks tables as crashed.
- **Server outages:** Saturated MySQL services or exhausted connections.
- **Plugin and theme conflicts:** Runaway queries or poor updates overwhelm the database.
Step 1 · Verify wp-config.php Credentials
WordPress needs the correct database name, username, password, and host. Even an extra space will trigger the connection error.
- Log into your hosting file manager or connect via SFTP.
- Open the `wp-config.php` file in the site root.
- Confirm every credential matches what you see in the hosting control panel.
define('DB_NAME', 'your_database_name');
define('DB_USER', 'your_username');
define('DB_PASSWORD', 'your_password');
define('DB_HOST', 'localhost');Providers often use custom database hosts such as internal IPs or socket paths. When in doubt, check documentation or open a ticket.
Step 2 · Confirm Hosting and MySQL Status
If credentials are correct, inspect the database server itself. Outages or throttled resources often trigger the error even when configuration files look fine.
- Review your host status page for downtime.
- Ask support if MySQL is under heavy load or restarting.
- Run a direct connection test with a lightweight PHP snippet.
<?php
$connection = mysqli_connect('DB_HOST', 'DB_USER', 'DB_PASSWORD');
if (!$connection) {
die('Connection failed: ' . mysqli_connect_error());
}
echo 'Connected successfully';
?>If the script fails, your configuration is solid. Escalate with logs because the issue lives inside the hosting environment.
Step 3 · Repair Corrupted Database Tables
Corruption happens. Use these repair options before restoring from a backup.
Repair via WordPress
Add the following constant temporarily, run the repair screen, then remove it.
define('WP_ALLOW_REPAIR', true);Visit `/wp-admin/maint/repair.php` and choose **Repair and optimize database**.
Repair via phpMyAdmin
- Select your database and check crashed tables.
- Choose **Repair table** from the action dropdown.
- Refresh the site to confirm the fix.
Always take a backup first. Hosting snapshots or plugins such as UpdraftPlus make rollback simple.
Step 4 · Troubleshoot Plugins and Themes
Intermittent errors often point to runaway queries triggered by recent updates. Deactivate plugins or switch themes to isolate the culprit.
- Rename `wp-content/plugins` to something like `plugins_disabled`. If the site loads, restore the folder name and reactivate plugins one at a time.
- Switch to a default theme such as Twenty Twenty-Four. If the site stabilizes, audit the custom theme for heavy queries.
Preventing Future Database Errors
- Stop the incident from repeating by following a preventative checklist.
- Enforce routine backups stored offsite.
- Monitor database slow query logs.
- Limit plugin installs and perform staged updates.
- Enable uptime monitoring so outages are caught instantly.
When to Call for Hosting Support
If you are still offline after completing these steps, escalate with a detailed ticket. Include timestamps, repair attempts, and the PHP connection test output. This speeds up triage with your host and keeps stakeholders informed.
Need someone to lead the recovery? Book a consultation and I will restore the site, harden the hosting, and document the incident for your team.
Need hands-on help?
Book a performance or support engagement and get direct access to the same playbooks I use for Rocket.net and Hostinger clients.
