首先,我要提一提,我经历了许多建议的问题,没有找到任何相关的答案。这是我在做什么。
我已连接到我的Amazon EC2实例。我可以使用以下命令以MySQL root登录:
mysql -u root -p 然后我用主机%创建了一个新的用户账单
CREATE USER 'bill'@'%' IDENTIFIED BY 'passpass'; 授予用户帐单所有特权:
grant all privileges on . to 'bill'@'%' with grant option; 然后,我从root用户退出并尝试使用bill登录:
mysql -u bill -p 输入正确的密码并收到以下错误消息:
错误1045(28000):用户'bill'@'localhost'的访问被拒绝(使用密码:是)
当可能有多个匹配项时,服务器必须确定要使用哪个匹配项。它可以解决此问题,如下所示:(...)
客户端尝试连接时,服务器将按排序顺序浏览[表mysql.user]的行。 服务器使用与客户端主机名和用户名匹配的第一行。 (...)服务器使用排序规则,该规则首先对具有最特定Host值的行进行排序。文字主机名[例如'localhost']和IP地址是最具体的。
因此,这样的匿名用户会像“ '[any_username]'@'%'从” 连接时那样“屏蔽”任何其他用户localhost。
'bill'@'localhost'确实匹配'bill'@'%',但是会''@'localhost'事先匹配(例如)。
推荐的解决方案是删除该匿名用户(无论如何通常这样做是一件好事)。来源:stack overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。