Troubleshooting the error establishing database connection WordPress DigitalOcean issue? Our DigitalOcean Support Team is Always here to help you.
Real Fixes for Error Establishing Database Connection WordPress DigitalOcean
If your WordPress site hosted on DigitalOcean suddenly shows the dreaded error establishing database connection WordPress DigitalOcean message, don’t panic. This issue is more common than you think, especially on VPS setups, and it often boils down to server resource problems or external attacks.
Let’s get straight into what actually works. These are field-tested fixes for error establishing database connection WordPress DigitalOcean, based on real servers, mostly Ubuntu 14.04, though they apply to later versions too, especially useful if you’re running high-demand setups like a WordPress LMS.
An Overview
1. Add Swap Space (If You Don’t Have It Already)
The most common cause of this issue on low-resource VPS setups is MySQL crashing due to lack of memory. Many droplets, especially the smaller plans, don’t come with swap space enabled by default.
Step 1: Check if Swap is Enabled
free -m
If the swap row shows all zeros, your server doesn’t have any swap space.
Step 2: Add Swap Space
DigitalOcean provides an excellent step-by-step guide on adding swap space. Follow it precisely. It takes just a few minutes and often fixes the problem completely.
2. Check for Disk Space Issues
If adding swap doesn’t solve it, your next suspect should be disk usage. When your server runs out of physical space, MySQL can’t run properly.
Step 1: Check Available Disk Space
df -h /
If you see that your root partition is full, it’s time to upgrade your droplet.
Step 2: Upgrade Droplet Plan
Shutdown your server, increase your plan via the DigitalOcean dashboard, then power it back on. After that, restart MySQL:
sudo service mysql restart
That should get you back online, if disk space was the issue.
3. Check for Brute Force Attacks on xmlrpc.php
Still seeing error establishing database connection WordPress DigitalOcean even after verifying memory and disk? There might be something more aggressive going on.
Identify the Attack
If MySQL keeps crashing right after it starts, and you’ve confirmed memory and disk are fine, there’s a good chance your server is under attack.
Step 1: Check Apache Access Logs
cd /var/log/apache2/
cat access.log
You’re looking for a flood of POST requests targeting xmlrpc.php, usually from 1–3 IP addresses. If you spot them, that’s your culprit.
Block the Offending IPs
Once you’ve identified the IP addresses hammering your site, block them using iptables:
Command to Block IP Address
iptables -A INPUT -s 45.168.72.21 -j DROP
Replace 45.168.72.21 with the actual IP(s) you found in your logs.
Check IP Block List
iptables -L INPUT -v -n
[If needed, Our team is available 24/7 for additional assistance.]
Conclusion
These fixes cover the three most common reasons behind this problem: memory shortage, full disk, and brute force attacks. Work through them one by one. In most cases, the first fix (adding swap) does the job.
By addressing the issue methodically, starting with server resources and then checking for hostile traffic, you can usually get your WordPress site back up quickly and safely.
0 Comments