Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

access is denied for user 'root'@localhost mysql error 1045

I am new to PHP. I get the following error when executing my application:

In phpMyadmin the code is like this

$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['AllowNoPasswordRoot'] = true;

As I have taken back up, I have change the above code to

$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'Pass123';
$cfg['Servers'][$i]['AllowNoPasswordRoot'] = true;

Now I am get the following error

Access denied for user 'root'@'localhost' (using password: YES) MySQL Error # :1045

Please let me know, what went wrong here.

like image 300
Gnanendra Avatar asked Apr 05 '11 04:04

Gnanendra


2 Answers

After wasting most of a day on this problem, it turned out that all i had to do was supply the non-localhost hostname. I've no idea why (the user is allowed to connect from Any host), but it works!

root@base:~# mysql -u username -h hostname -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.

And in PHP:

Test 1807:
<?php
$username = "username";
$password = "password";
$hostname = "actualhostnamenotlocalhost"; 

$con = mysqli_connect($hostname, $username, $password);

// Check connection
if (mysqli_connect_errno($con)){
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

mysqli_close($con);    

?>
OK.
like image 69
Cees Timmerman Avatar answered Sep 24 '22 13:09

Cees Timmerman


Nobody here has mentioned that (for some reason or another), the host assigned to your user might be wrong. When it says root@localhost it means the user root with the host of localhost.

On some servers, the default root might not be on localhost. Try these:

[email protected]

root@[yourhostname]

like image 44
Alfo Avatar answered Sep 22 '22 13:09

Alfo