我正面临这个错误。尝试了其他线程中给出的所有解决方案......创建新用户@ localhost并为其授予权限。 但没有什么对我有用......
仍然出现错误 ..
连接失败:用户访问被拒绝'用户名' @' localhost' (使用密码:是)
这是我的代码..
<?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);
?>
答案 0 :(得分:1)
用户名或密码错误
如果您使用的是Windows默认用户名为&#34; root&#34;和密码是&#34;&#34; (空),
答案 1 :(得分:0)
可能发生了两件事中的一件
username
无权访问该数据库执行以下查询后执行的操作
FLUSH_PRIVILEDGES; SHOW GRANTS;
您可以找到your problem here。
2016年7月4日更新
我怀疑用户的密码存储不正确。尝试重置密码(您可能需要以root用户身份连接才能使用此密码):
ALTER USER 'username'@'localhost'
-> IDENTIFIED BY 'cleartext_password';
如果这不起作用,您可以尝试使用较旧的语法:
SET PASSWORD FOR 'username'@'localhost' = PASSWORD('cleartext_password');
将cleartext_password
替换为您要使用的密码。然后尝试再次连接。
有效吗?
仍然是同一个问题:&#39;(
好的,让我们从一个全新的用户开始吧。以root
用户身份执行以下3个命令。
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'cleartext_password';
GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';
FLUSH PRIVILEGES;
如果所有3个命令都正确执行,请尝试使用newuser
连接到您的数据库。
有效吗?如果没有,你看到了什么错误?