我正在尝试通过以下命令连接到远程服务器上的mysql数据库(通过ssh):
mysql -u me -h mydomain.com -p但失败并返回错误1045 (28000):拒绝用户访问。错误
而
mysql -u me -h localhost -p作品
现在,这不仅仅是因为我没有设置权限,因为对此数据库的权限是为%设置的,或者是为me用户设置的任何主机。
我可以使用相同的用户从本地计算机正确连接到服务器,这一事实证明了这一点。例如,在我的本地机器works上运行以下命令:
mysql -u me -h mydomain.com -p那么我的问题是为什么会发生这种情况,以及我如何解决它?当我使用域名而不是本地主机时,为什么我不能从我的服务器连接到我的mysql服务器,即使权限设置为接受来自任何主机的连接。
发布于 2010-07-15 17:50:12
这是由于MySQL处理权限授予的方式造成的。
当您从远程主机(或通过外部IP从本地主机)连接时,它将匹配me@%条目(如果没有针对您正在使用的特定主机的特定授权,则为!)。但是,当您通过环回接口(“本地主机”IP)或套接字进行连接时,它将使用me@localhost授权。因此您必须有两个GRANT PRIVILEGES;一个用于me@localhost,另一个用于me@%。
https://stackoverflow.com/questions/3254365
复制相似问题