通过 VirtualBox 访问 MySQL 服务器

def*_*nce 21 mysql virtualbox

我正在尝试让 MySQL 服务器(位于 VM 内)响应客户端(位于主机上)。所有方法都返回相同的:

Host '10.0.2.2' is not allowed to connect to this MySQL server
Run Code Online (Sandbox Code Playgroud)

我已经确保正确的端口转发。我还确保,在my.cnf我有以下几行:

skip-external-locking
bind-address = 0.0.0.0
Run Code Online (Sandbox Code Playgroud)

这对我不起作用。我也试着玩了一下:

bind-address = 10.0.2.2
Run Code Online (Sandbox Code Playgroud)

但这对我也不起作用 - 服务器无法启动。

任何想法,我错在哪里?

更新。我没有检查权限,root@%如何更改已创建的 MySQL 用户的权限?

解决了。

Sha*_*den 38

在绝大多数默认安装中,root 帐户的 localhost-only,您确定允许它从其他系统登录吗?从MySQL 参考手册

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

那么,有没有%10.0.2.2Host列的。检查您当前的配置:

select user,host from mysql.user where user='root';
Run Code Online (Sandbox Code Playgroud)

您可能希望使用与现在相同的密码创建一个新的根条目。

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;
Run Code Online (Sandbox Code Playgroud)