Gnanendra
Gnanendra

Reputation: 61

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.

Upvotes: 5

Views: 9037

Answers (7)

Cees Timmerman
Cees Timmerman

Reputation: 19644

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.

Upvotes: 3

pdvries
pdvries

Reputation: 1382

There can be a problem with MySQL-server and the port on which it is run. Default is 3306. If it doesn't work, change the port in the my.ini (ór whatever the mysql-ini filename is) AND also change the port-reference in the config.inc.php in the phpmyadmin-folder.

So, the error that is explained here (by Gnanendra)

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

may be given because MySQL-server is not run correctly.

Also check this post for more information on this issue:

Can't start server: Bind on TCP/IP port: No such file or directory

Upvotes: 0

Alfo
Alfo

Reputation: 4819

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]

Upvotes: 2

Ed Heal
Ed Heal

Reputation: 59997

Make sure the password correct (caps lock?) and perhaps use the raw IP address i.e. 127.0.0.1

Upvotes: 0

sreekanth
sreekanth

Reputation: 1371

For resetting youre password please look into this page http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html

Upvotes: 0

Mujahid
Mujahid

Reputation: 1237

make sure whether you've assigned a password for mysql

Upvotes: 0

sreekanth
sreekanth

Reputation: 1371

Please check the password which you typed here.

These kind of errors come when youre password is not matching with the original password.

Upvotes: 0

Related Questions