通过 VirtualBox 访问 MySQL 服务器

通过 VirtualBox 访问 MySQL 服务器

我正在尝试让 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.2Host

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;

相关内容