通过VirtualBox访问MySQL服务器

我试图让MySQL服务器(这是在虚拟机内)响应客户端(这是在主机上)。 所有方法返回相同的:

Host '10.0.2.2' is not allowed to connect to this MySQL server 

我已经确保了正确的端口。 我也保证,在my.cnf我有以下几行:

 skip-external-locking bind-address = 0.0.0.0 

这对我不起作用。 我也尝试玩一下,如下所示:

 bind-address = 10.0.2.2 

但是,这也不适用于我 – 服务器无法启动。

任何想法,我错了?

UPDATE。 我没有检查root@%权限,因为如何更改已经创build的MySQL用户的权限?

解决了。

在绝大多数默认安装中,root帐户的localhost只是你确定允许它从其他系统login? 从MySQL参考手册 :

这意味着用户表中没有与客户端主机匹配的主机值的行

所以, Host列中根本没有%10.0.2.2 。 检查你的当前configuration:

 select user,host from mysql.user where user='root'; 

您可能希望使用现在的密码创build新的根条目。

 create user 'root'@'10.0.2.2' identified by 'yourpassword'; grant all privileges on *.* to 'root'@'10.0.2.2' with grant option; flush privileges;