Error Establishing a Database Connection in WordPress with Ubuntu 16.04.3 NGINX, MARIADB 10, PHP7/7.1 and Wordpress 4.8.2

September 24, 2017 160 views
MariaDB WordPress Nginx PHP Ubuntu 16.04

When I create a new Ubuntu 16.04.3 droplet and I install NGINX, MARIADB and PHP (no matter which versions, all have the same problem) and WordPress I am getting the Error Establishing a Database Connection. Before this error I created +50 servers all the same and since a couple of days I am having this strange problem. Tried almost everything, so I am creating a support ticket for it. When I fill in the Database information (DBname, DBuser, DBpassword) I am getting directly Error Establishing a Database Connection. I am lost for the moment. Someone else with the same problem?

1 Answer

Have your created a database and user and tested that the connection works outside the scope of WordPress?

Here is a simple bash script to test the connection (adjust as needed)

#!/usr/bin/env bash

WEBROOT=${HOME}/public_html

WPDBHOST=$(cat ${WEBROOT}/wp-config.php | grep DB_HOST | cut -d \' -f 4)
WPDBNAME=$(cat ${WEBROOT}/wp-config.php | grep DB_NAME | cut -d \' -f 4)
WPDBUSER=$(cat ${WEBROOT}/wp-config.php | grep DB_USER | cut -d \' -f 4)
WPDBPASS=$(cat ${WEBROOT}/wp-config.php | grep DB_PASSWORD | cut -d \' -f 4)
WPDBPREF=$(cat ${WEBROOT}/wp-config.php | grep "\$table_prefix" | cut -d \' -f 2);

if [ ! "`mysql -u${WPDBUSER} -p${WPDBPASS} -e 'SHOW DATABASES;' | grep ${WPDBNAME}`" == "${WPDBNAME}" ]; then
  echo "${WPDBNAME} connection failure for ${WPDBUSER}"
  exit
else
  echo "${WPDBNAME} connected"
fi

Have another answer? Share your knowledge.