我试图让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;