我正在尝试让 MySQL 服务器(位于 VM 内部)响应客户端(位于主机上)。所有方法都返回相同的结果:
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
但这对我来说也不起作用——服务器无法启动。
有什么想法吗,我错在哪里?
更新。我没有检查root@%
权限如何更改已创建的 MySQL 用户的权限?
解决了。
答案1
在绝大多数默认安装中,root 帐户都是 localhost-only,你确定允许它从其他系统登录吗?从MySQL 参考手册:
这意味着用户表中没有行的 Host 值与客户端主机匹配
因此,列中根本没有%
或。检查您当前的配置:10.0.2.2
Host
select user,host from mysql.user where user='root';
您可能希望使用与现在相同的密码创建一个新的根条目。
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;