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.

Was this answer helpful?

 Print this Article

Also Read

Unable to perform operation. No free disk space.

I'm getting this error when I tried to send an email from webmail:Unable to perform operation....

Failed: Account Restore Failed: “clean: Cannot cleanup top level directory:

While restoring the full cPanel backup file in 'tar.gz' format from WHM >> Backup >>...

Account Creation Status: failed. A database owner with the name <account-name> already exists.

I have deleted the account from the WHM but while recreating it, I was getting below error...

How to check the PHP version and configuration for your website?

'phpinfo.php' is the file which is used for checking the PHP version and configuration on cPanel...

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...

Powered by WHMCompleteSolution