繁体   English   中英

无法从主机虚拟机连接到 mysql

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM