端口转发以连接 VirtualBox 的 MySQL 数据库

端口转发以连接 VirtualBox 的 MySQL 数据库

我有 Ubuntu 10.04主持人机器和 Ubuntu 10.10客人安装在 VirtualBox 中的机器。

我已成功通过端口转发连接到客户机的 Apache,因此现在我可以在主机上打开在客户机的 Web 服务器(Apache)中发布的网站。

我需要对 MySql 执行相同操作,即访问 MySql客人机器来自主持人机器。

为了实现此目标,我执行以下命令主持人机器:

VBoxManage setextradata Ubuntu "VBoxInternal/Devices/e1000/0/LUN#0/Config/mysql/HostPort" 3307
VBoxManage setextradata Ubuntu "VBoxInternal/Devices/e1000/0/LUN#0/Config/mysql/GuestPort" 3306
VBoxManage setextradata Ubuntu "VBoxInternal/Devices/e1000/0/LUN#0/Config/mysql/Protocol" TCP

在哪里Ubuntu是主机的名称。

客户机已加载,但当我尝试从主机连接到 MySql 时,却无法连接。

这可能是什么问题?

谢谢。

答案1

检查事项:

  1. 您的 MySQL 用户的“主机”字段设置为什么?如果是localhost或类似,则 MySQL 服务器拒绝访问,因为您是从外部机器连接的。将主机字段更改为%允许来自任何 IP 的连接(但显然永远不会在生产环境中使用它,因为客人正在接受来自互联网的连接)

  2. 你的 MySQL 服务器是否设置为允许远程连接?打开/etc/mysql/my.cnf并验证你的bind-address设置为客人机器。另外,请确保您的port设置与您尝试连接的任何设备相匹配。

除此之外,您还需要发布日志或连接信息,以便我们更仔细地查看实际问题。

答案2

您可以为客户操作系统使用“桥接网络”,而不必为每个应用程序使用端口转发。这样您就可以分配一个与主机系统具有相同子网掩码的 IP。例如,如果您的主机系统的 IP 是 192.168.0.10,启用桥接网络后,您也可以为客户机分配类似的 IP,例如 192.168.1.11。这样,您就可以正常访问客户机上运行的所有服务。阅读以下链接了解有关设置桥接网络的更多信息。这是一项简单的任务,不会超过 2 分钟。

http://www.virtualbox.org/manual/ch06.html

相关内容