开发者

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 phpMyadmi开发者_开发知识库n 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.


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.


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:

root@127.0.0.1

root@[yourhostname]


Please check the password which you typed here.

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


make sure whether you've assigned a password for mysql


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


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


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

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜