What is “Error Establishing a Database Connection” in WordPress and How to Fix It

What is
Image Source: Kinsta.com

Error Establishing a Database Connection is one of those frustrating issues which could be caused by many reasons. As a WordPress beginner, it’s very painful to see these type of issues especially when you haven’t made any changes to the website.

We ran into this issue several times on my own site. While doing the research to find possible causes, I found many articles and tried all of them but nothing works for me lastly I got something from host’s Q&A, so I will show you how to fix the error establishing a database connection in WordPress. But before the solution, we must know about the problem so:

What is "Error Establishing a Database Connection" in WordPress and How to Fix It - techinfoBiT

Why do You Get Error Establishing a Database Connection?

The error occurs because of WordPress were unable to establish a database connection. Now the reason why WordPress is unable to establish a database connection can vary. It could be that your database Login credentials are wrong or have been changed. It could be that your database server is unresponsive. It could be that your database has been corrupted. In my case, this was happening because my MySQL getting down automatically due to high memory load. Lets take a look at how to go about troubleshooting this problem.

  • Revised the database settings from wp-config database username, password and database name. 
  • Checking Web Host (MySQL Server) if there is any issue with the host because sometimes host server can’t handle much load (specially when you are on shared hosting). Your site will get really slow and for some users even output the error. So the best thing you should do is get on the phone or livechat with your hosting provider and ask them if your MySQL server is responsive.

Solution Which Worked for Me:- If the database connection settings from wp-config is correct then chances are issues is being caused by the heavy server load or low server resources. If some sites getting high traffic than it needs more memory to handle that traffic if your site is hosted on a shared server than you can talk with the host to upgrade your plan, and those who have VPS can add swapfile.

So What is Swapping and How to Add Swap on Linux Server?

About Linux Swapping:- Linux RAM is composed of chunks of memory called pages. To free up pages of RAM, a “linux swap” can occur and a page of memory is copied from the RAM to preconfigured space on the hard disk. Linux swaps allow a system to harness more memory than was originally physically available. Check for Swap Space Before we proceed to set up a swap file, we need to check if any swap files have been enabled on the VPS by looking at the summary of swap usage.

sudo swapon -s

An empty list will confirm that you have no swap files enabled:

Filename			Type		Size	Used	Priority

Check the File System: After we know that we do not have a swap file enabled on the virtual server, we can check how much space we have on the server with the df command. The swap file will take 512MB— since we are only using up about 8% of the /dev/sda, we can proceed.

Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda        20907056 1437188  18421292   8% /
udev              121588       4    121584   1% /dev
tmpfs              49752     208     49544   1% /run
none                5120       0      5120   0% /run/lock
none              124372       0    124372   0% /run/shm

Create and Enable the Swap File: Now it’s time to create the swap file itself using the dd command,

sudo dd if=/dev/zero of=/swapfile bs=1024 count=512k

“of=/swapfile” designates the file’s name. In this case, the name is swapfile. Subsequently, we are going to prepare the swap file by creating a linux swap area:

sudo mkswap /swapfile

The results display:

Setting up swapspace version 1, size = 262140 KiB
no label, UUID=103c4545-5fc5-47f3-a8b3-dfbdb64fd7eb

Finish up by activating the swap file:

sudo swapon /swapfile

You will then be able to see the new swap file when you view the swap summary.

swapon -s
Filename				Type		Size	Used	Priority
/swapfile                               file		262140	0	-1

This file will last on the virtual private server until the machine reboots. You can ensure that the swap is permanent by adding it to the fstab file. Open up the file:

sudo nano /etc/fstab

Paste in the following line:

 /swapfile       none    swap    sw      0       0

To prevent the file from being world-readable, you should set up the correct permissions on the swap file:

sudo chown root:root /swapfile 
sudo chmod 0600 /swapfile

Thats all, hope this will resolve your problem.


Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.