zen*_*nna 6 mysql dns permissions mysql-error-1045
我试图通过命令连接到远程服务器上的mysql数据库(通过ssh):
mysql -u me -h mydomain.com -p
Run Code Online (Sandbox Code Playgroud)
但它失败了ERROR 1045(28000):访问被拒绝用户..错误
而
mysql -u me -h localhost -p
Run Code Online (Sandbox Code Playgroud)
作品
现在这不仅仅是因为我没有设置权限,因为此数据库的权限设置为%或me用户的任何主机.
事实证明,我可以使用同一个用户从本地计算机正确连接到服务器.即从我的本地机器运行以下命令:
mysql -u me -h mydomain.com -p
Run Code Online (Sandbox Code Playgroud)
所以我的问题为什么会发生这种情况,我该如何解决?当我使用域名而不是localhost时,为什么我不能从我的服务器连接到我的mysql服务器,即使权限设置为接受来自任何主机的连接.
Bor*_*lid 16
这是因为MySQL处理权限授予的方式.
当您从远程主机(或通过外部IP从本地主机)连接时,它将匹配该me@%条目(如果您正在使用的特定主机没有特定的授权!).但是当您通过环回接口("localhost"IP)或套接字连接时,它将使用me@localhost授权.所以你必须有两个GRANT PRIVILEGES; 一个为me@localhost一个为一个me@%.
| 归档时间: |
|
| 查看次数: |
3404 次 |
| 最近记录: |