[英]Unable to connect to mysql from host virtual machine
$ mysql -u testuser -h 192.168.57.5 -p
用户 'root'@'192.168.57.1' 访问被拒绝(使用密码:YES)
在虚拟来宾上,我已经使用以下命令向 mysql 用户授予了权限:
GRANT ALL ON DB.* TO root@192.168.57.5 IDENTIFIED BY 'password';
但以上是行不通的。
下面的解决方案正在工作:
GRANT ALL ON DB.* TO root@192.168.57.1 IDENTIFIED BY 'password';
我的问题是为什么我需要授予 root@192.168.57.1 权限?
我的虚拟机IP地址是192.168.57.5。
在 MySQL 配置中:
绑定地址 = 192.168.57.5
我可以使用 ip 192.168.57.5 访问我的虚拟机 apache 服务器,也可以使用 192.168.57.5 访问 mysql 服务器。
但是我必须在 MySQL 服务器中授予 192.168.57.1 的权限。
我相信这个问题已经回答过很多次了,但这里再重复一次......
当您授予权限时,您将它们授予正在连接的用户。 您在上面所做的是授予对MySQL
服务器的访问权限。
GRANT ALL ON DB.* TO root@192.168.57.5 IDENTIFIED BY 'password';
表示将所有权限授予IP 为192.168.57.5 的用户root
当您授予希望使用服务器的客户端访问权限时,它会神奇地工作。
在我的虚拟框中:
主机管理器 IP:192.168.57.1 和
客户端机器 IP : 192.168.57.5
为了从客户端机器访问 MySQL。 我必须为 Host Manager 网络 IP 地址而不是虚拟机 IP 地址提供授予权限。
这就是为什么下面的作品:
GRANT ALL ON DB.* TO root@192.168.57.1 IDENTIFIED BY 'password';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.