我正面临这个错误。尝试了其他线程中给出的所有解决方案…创建一个新的user@localhost并赋予它特权。但是什么都不行
仍然得到这个错误.
连接失败:用户'username'@'localhost'被拒绝访问(使用密码:YES)
这是我的代码。
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "databasename";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
else {
echo "Connection Successful";
}
mysqli_close($conn);
?>
用户名或密码有问题
如果您使用的是windows,默认用户名是"root",密码是"(空),
可能发生两件事中的一件
- 您的密码不正确
-
username
未被授权访问该数据库
执行execute following query
得到的结果是什么?FLUSH PRIVILEGES; SHOW GRANTS;
你可以在这里找到你的问题。
2016年7月4日更新
我怀疑用户的密码存储错误。尝试重置密码(您可能需要以root用户身份连接才能正常工作):
ALTER USER 'username'@'localhost'
-> IDENTIFIED BY 'cleartext_password';
如果不工作,你可以尝试旧的语法:
SET PASSWORD FOR 'username'@'localhost' = PASSWORD('cleartext_password');
将cleartext_password
替换为您希望使用的密码。然后再试着连接。
它工作吗?
还是同样的问题:'(
好的,让我们从一个新的用户开始。以root
用户执行以下3个命令。
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'cleartext_password';
GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';
FLUSH PRIVILEGES;
如果所有3个命令都正确执行,接下来尝试以newuser
连接到数据库。
成功了吗?如果不是,会看到什么错误?