Troubleshooting MySQL Database Connection Issues
Databases are the driving element of a website. Databases tell a website how to function on a dynamic level, meaning that the information can be smart enough to update without the user directly making those changes if need be. Without a proper connection to an SQL database, a website cannot function, and you will likely be met with one of the following warnings:
Unable to connect to database server!
These warnings indicate that the website database now exists in cPanel, but the website cannot communicate with it. This can be corrected by checking each of the connection points between the database and the website, as detailed in the steps below.
Step 1: Configure Database User
To reconfigure your website's database settings, you will need to create a new user, assign the user to the database, and set out user privileges.
- Create a new database user. Please see the article How to Create a Database User for the instructions.
- Assign your new user to your database name and user privileges. Please follow the steps in this section, How To Assign Privileges to Database User.
- Be sure to note the database user name and user password for the new user being assigned to the database. This is essential to the following steps.
Step 2: Locate the Database Configuration File
Once you have created a new user and have assigned the user to the database, you will need to locate the database configuration file for the website.
- If you received a general error message like the first example above, please refer to the following article to determine the location of your configuration file:
- If you received a specific error message like the second example above, then the location of the error has been provided. In the example above, the message indicates that the error occurred "in /home/joe123/public_html/catalog/includes/functions/database.php on line 19."
Step 3: Reconfigure the Database Settings
Once the configuration file has been located, you can reconfigure the database settings for your website. Though every script can vary, the following instructions provide a general walkthrough of completing this step.
- Go to the configuration file and choose to Edit.
- Look in the code for a place where the database name is defined. The database information should be fairly obvious and easy to find.
Here is an example of what the database for a WordPress installation would look like:
define('DB_NAME', 'user1_wrdp1'); define('DB_USER', 'user1_name1'); define('DB_PASSWORD', '5Jmfde%53L'); define('DB_HOST', 'localhost');
- Make sure that 'DB_NAME' reflects your correct database name. You will notice that it got the cPanel username in the first part of the database name (the part before the underscore). Update the cPanel username if necessary, but change nothing after the underscore.
- Replace the current 'DB_USER' and 'DB_PASSWORD' values in the file with the new values.
define('DB_USER', 'joe123_gatorboy'); define('DB_PASSWORD', 'nvGHdCC0dCMz');
- Be sure that the hostname ('DB_HOST') is 'localhost.'
- Save the file, and you are done!
After completing the steps above, you should no longer receive an error message regarding your database connection.