Failed to connect to MySQL: Access denied for user

While accessing the website, I was getting the error as -
Failed to connect to MySQL: Access denied for user 'database_user'@'xxx.xx.xxx.xx' to database 'database_name'

Generally the above error comes on the website due to user not linked to the database and due to the lack of privilages assisgned to the user .

Solution - 

1. Login to user on server :  #cd ~username

2. Search the database displayed in the error on the server : #grep -rl "database_name"
You will get the configuration file for that database.

3. Check the configuration file of the database {it will contain the login details for that database} -

#cat configuration_file.php

Output:

<?php
$myhost = "host's_ip_address";
$myuser = "database_username";
$mypass = "xxxxxxxx";
$mydb = "database_name";
$key = "your_key"; //Don't tuch this !
$con = mysqli_connect($myhost, $myuser, $mypass, $mydb);
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
?>

4.You can try to access the database which will confirm that the database is present or not -
#mysql -u username(present in configuration file) -p then press Enter
password: (Enter the password present in the configuration file)

You will enter the "mysql>" window as below -

mysql>

5.To check the database present for that user enter : mysql>show databases;
So as per the output there is no database present for that user due to privilages not assigned.

Output:

+--------------------+
| Database |
+--------------------+
| information_schema |
+--------------------+
1 row in set (0.00 sec)


6. Now login to cPanel >> MySql Databases >> click on Add (Change the privileges to all ) >> Save

7. Now check the database on the server by show databases command as used earlier
mysql> show databases;

Now the database is linked to the user as we have assigned all the privileges to the user -


Output:

+--------------------+
| Database |
+--------------------+
| information_schema |
| database_username |
+--------------------+
2 rows in set (0.00 sec)

8. Try accessing the website, it will start working fine without any errors.

  • 0 Users Found This Useful
Was this answer helpful?

Related Articles

How to prevent xmlrpc attack on the WordPress?

To prevent xmlrpc attack in WordPress website just add below code to the .htaccess file of the...

How to add/remove the trailing slashes in URLs using the .htaccess?

You can use the below code in the .htaccess file depending on the trailing slash required or not...

Response: 421 Home directory not available - aborting Error: Could not connect to server

While connecting to hosting service using FTP client, I was getting below error message...

How to configure Amazon S3 backups in WHM?

There is always issues on the server like Hard Drive Failures and its very important to keep your...

How to install composer on cPanel server- Locally - inside the user's directory?

Composer is as tool which is used to manage the dependencies between the PHP softwares and...

Powered by WHMCompleteSolution