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

时间:2018-02-27 07:26:12

标签: mysql networking virtual-machine virtualbox

$ mysql -u testuser -h 192.168.57.5 -p

访问被拒绝用户'root'@'192.168.57.1​​'(使用密码:是)

在虚拟客户端上,我已经使用以下命令向mysql用户授予了权限:

  

GRANT ALL ON DB。* to root@192.168.57.5由'password'识别;

但上面没有用。

以下解决方案正在运作:

  

GRANT ALL ON DB。* to root@192.168.57.1​​由'password'识别;

My Quetion是我需要授予root@192.168.57.1​​权限的原因?

我的虚拟机IP地址是192.168.57.5。

在MySQL配置中:

bind-address = 192.168.57.5

我可以使用ip 192.168.57.5访问我的虚拟机apache服务器,使用192.168.57.5访问mysql服务器。

但我必须在MySQL服务器中授予192.168.57.1​​的权限。

2 个答案:

答案 0 :(得分:0)

我确定已经多次回答了这个问题但是又来了一次......

授予权限后,您可以将其授予正在连接的用户。您上面所做的是授予您对UPDATE table, findreplacetable SET table.name = REPLACE(table.name, findreplacetable.find_, findreplacetable.replace_) WHERE table.name REGEXP CONCAT('[[:<:]]', findreplacetable.find_,'[[:>:]]'); 服务器的访问权限。

  

GRANT ALL ON DB。* to root@192.168.57.5通过&#39;密码&#39;;

识别

意味着向用户 root 授予所有,其IP是 192.168.57.5

当您授予希望使用服务器的客户端的访问权限时,它会神奇地起作用。

答案 1 :(得分:0)

在我的虚拟框中:

Host Manager 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​​通过&#39;密码&#39;;

识别