MySQL ERROR 1045 (28000): Access Denied for User 'bill'
尝试使用用户 'bill' 连接到 MySQL 时使用正确的密码时,错误消息“错误 1045 (28000):用户访问被拒绝出现“bill”@“localhost”(使用密码:YES)。即使已创建用户“bill”、授予所有权限并使用主机“%”指定,也会遇到此错误。
问题的根源
该问题是由于 MySQL 用户中可能存在用户名空白且主机设置为“localhost”或“127.0.0.1”的匿名用户引起的
MySQL 如何解决用户身份验证
当客户端尝试连接时,MySQL 会检查用户表并选择与客户端主机名和用户匹配的第一行姓名。首先按照最具体的主机值对选择进行排序,并给予文字主机名和 IP 地址优先级。
在这种情况下,以“localhost”作为主机的匿名用户比用户“更好地匹配连接尝试” bill'@'%',阻止访问 'bill'。
推荐解决方案
推荐解决方案是删除匿名用户,因为它可能会造成安全漏洞。为此,请执行以下命令:
DROP USER ''@'localhost';
其他注意事项
以上是为什么即使凭证正确,MySQL 也会返回'访问被拒绝”?的详细内容。更多信息请关注PHP中文网其他相关文章!