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
精彩评论