利用端口转发访问VirtualBox虚拟机中的MySQL

利用端口转发访问VirtualBox虚拟机中的MySQL


Virtualbox默认使用NAT来做网络连接的,访问外网比较方便,但是纯NAT模式下,宿主机不能访问虚拟机。开发过程中有时候会用到虚拟机,这里有个简单有效的解决方法就是用VirtualBox的“端口映射”功能。

配置如下:

  • 首先查看Virtualbox虚拟网卡的IP,我这里是192.168.56.1,一般都是这个。

  • 配置端口转发,打开虚拟机,选中需要访问的虚拟机,点“设置”-“网络”

  • 点击端口转发,这里的主机IP就是Virtualbox虚拟网卡的IP,子系统IP就是虚拟机IP,需要在虚拟机系统中查看

这里的主机端口可以和子系统端口不一致,比如以上图的MySQL为例,如果把主机的端口配置为3307的话,那么从外网访问虚拟机的MySQL数据库地址就是192.168.56.1,端口就是3307,虚拟机会自动转发给子系统中的3306端口。


注意:如果仍然连接不上,尝试查看配置文件my.cnf是否注释了# bind-address = 127.0.0.1这一项,很多时候远程连不上是因为这个配置项的原因。

在 Linux 中,可以使用 VirtualBox端口转发功能,将主机上的某个端口映射到虚拟机上的一个端口,从而实现主机和虚拟机之间的网络连接。具体操作步骤如下: 1. 在 VirtualBox 管理器中选择需要添加端口转发规则的虚拟机,点击“设置”按钮,进入虚拟机设置页面。 2. 选择“网络”选项卡,找到“端口转发”设置。 3. 点击“添加端口转发规则”按钮,添加需要转发端口规则。比如,如果要将主机 192.168.1.26 上的 8080 端口映射到虚拟机 Windows 的 80 端口,则可以添加一条规则:名称为“http”,协议为“TCP”,主机 IP 地址为“192.168.1.26”,主机端口为“8080”,子系统 IP 地址为“192.168.1.206”,子系统端口为“80”。 4. 点击“确定”按钮保存设置。 这样,主机上的 192.168.1.26:8080 端口就会被映射到虚拟机 Windows 的 80 端口。在主机上访问 192.168.1.26:8080,就相当于访问虚拟机 Windows 的 80 端口。 如果你想要在 Windows 中访问虚拟机 Linux 上的服务,也可以在虚拟机 Linux 中添加端口转发规则,将主机 192.168.1.206 上的某个端口映射到虚拟机 Linux 上的一个端口。具体操作步骤如下: 1. 在 VirtualBox 管理器中选择虚拟机 Linux,点击“启动”按钮启动虚拟机。 2. 在虚拟机 Linux 中安装并配置需要的服务,比如 Apache、MySQL 等。 3. 使用以下命令添加端口转发规则,将主机 192.168.1.206 上的 8080 端口映射到虚拟机 Linux 的 80 端口: ``` iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 虚拟机LinuxIP:80 iptables -t nat -A POSTROUTING -d 虚拟机LinuxIP -p tcp --dport 80 -j SNAT --to-source 192.168.1.206 ``` 其中,`虚拟机LinuxIP` 是虚拟机 Linux 的 IP 地址。 这样,在主机 192.168.1.206 上访问 192.168.1.206:8080,就相当于访问虚拟机 Linux 的 80 端口
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值