解决VirtualBox中的MySQL数据库,Mac无法访问的问题(通过端口映射的方式)
2017-04-20 10:12
495 查看
Virtualbox默认使用NAT来做网络连接的,访问外网比较方便,但是纯NAT模式下,宿主机不能访问虚拟机。开发过程中有时候会用到虚拟机,这里有个简单有效的解决方法就是用VirtualBox的“端口映射”功能。
配置如下:
1.打开VirtualBox的偏好设置,设置host_only网络,默认是192.168.56.1;
2.对virtualBox中的设置进行配置=>选中网络地址转换(NAT)=>点击端口转发=>配置主机IP,端口号和子系统IP,端口号(这里的主机端口可以和子系统端口不一致,比如以上图的MySQL为例,如果把主机的端口配置为3307的话,那么从外网访问虚拟机的MySQL数据库地址就是192.168.56.1,端口就是3307,虚拟机会自动转发给子系统中的3306端口。):
3.mysql客户端测试连接:
4.我在连接中一直出现:ERROR 1130: Host xxx.xxx.xxx.xxx is not allowed to connect to this MySQL server 是无法给远程连接的用户权限问题;这里需要我们配置虚拟中MySQL的远程权限(这个处理只针对虚拟机中的系统是Windows系统的解决方案,具体操作详情链接:这里写链接内容):
5.以上配置之后还是会出现多次的连接超时现象:
can’t connect to mysql server on ‘XXX.XXX.XX.X’ (10060 Operation Timeout)这种问题的出现,我的解决办法如下,
virturalBox =>偏好设置=>网络=>红色框框中不要选中:
6.以上设置后,还是会出现无法连接超时,拒绝连接等状况,我的解决办法是:
1).在虚拟机和真机中ping 192.168.56.1,看看两边是否能通;如果不能通:virturalBox =>偏好设置=>网络=>红色框框中选中点击确认,然后再ping;此时两边再ping我就能ping通了;
2).在真机中用Navicat for mysql测试连接MySQL数据库,我这里出现的状况是出现虚拟机拒绝连接(61 connect refused),此时解决办法是:virturalBox =>偏好设置=>网络=>红色框框中不要选中;此时再在虚拟机和真机中ping 192.168.56.1,看看是否能ping通,如果可以,重启虚拟机,关闭您的Navicat;
3)重启后再在虚拟机和真机中ping 192.168.56.1,此时我的虚拟机也是能ping通的,重新打开您的Navicat,然后再连接,此时就连接成功了;
我的发现:虚拟机和真机端口映射,有一个缓存时间,就是说,你开机后真机和虚拟机无法自动进行IP映射,此时您可以通过ping IP来检测什么时候已经完成了IP映射,当ping通后,可能端口映射还没有映射上去,所以您再重启您的电脑试试,再ping,再用Navicat尝试,就能成功,当您配置好后,如果出现Navicat连接超时的状况就多尝试,之前弄过的,再还原,再ping,直到成功为止;
配置如下:
1.打开VirtualBox的偏好设置,设置host_only网络,默认是192.168.56.1;
2.对virtualBox中的设置进行配置=>选中网络地址转换(NAT)=>点击端口转发=>配置主机IP,端口号和子系统IP,端口号(这里的主机端口可以和子系统端口不一致,比如以上图的MySQL为例,如果把主机的端口配置为3307的话,那么从外网访问虚拟机的MySQL数据库地址就是192.168.56.1,端口就是3307,虚拟机会自动转发给子系统中的3306端口。):
3.mysql客户端测试连接:
4.我在连接中一直出现:ERROR 1130: Host xxx.xxx.xxx.xxx is not allowed to connect to this MySQL server 是无法给远程连接的用户权限问题;这里需要我们配置虚拟中MySQL的远程权限(这个处理只针对虚拟机中的系统是Windows系统的解决方案,具体操作详情链接:这里写链接内容):
5.以上配置之后还是会出现多次的连接超时现象:
can’t connect to mysql server on ‘XXX.XXX.XX.X’ (10060 Operation Timeout)这种问题的出现,我的解决办法如下,
virturalBox =>偏好设置=>网络=>红色框框中不要选中:
6.以上设置后,还是会出现无法连接超时,拒绝连接等状况,我的解决办法是:
1).在虚拟机和真机中ping 192.168.56.1,看看两边是否能通;如果不能通:virturalBox =>偏好设置=>网络=>红色框框中选中点击确认,然后再ping;此时两边再ping我就能ping通了;
2).在真机中用Navicat for mysql测试连接MySQL数据库,我这里出现的状况是出现虚拟机拒绝连接(61 connect refused),此时解决办法是:virturalBox =>偏好设置=>网络=>红色框框中不要选中;此时再在虚拟机和真机中ping 192.168.56.1,看看是否能ping通,如果可以,重启虚拟机,关闭您的Navicat;
3)重启后再在虚拟机和真机中ping 192.168.56.1,此时我的虚拟机也是能ping通的,重新打开您的Navicat,然后再连接,此时就连接成功了;
我的发现:虚拟机和真机端口映射,有一个缓存时间,就是说,你开机后真机和虚拟机无法自动进行IP映射,此时您可以通过ping IP来检测什么时候已经完成了IP映射,当ping通后,可能端口映射还没有映射上去,所以您再重启您的电脑试试,再ping,再用Navicat尝试,就能成功,当您配置好后,如果出现Navicat连接超时的状况就多尝试,之前弄过的,再还原,再ping,直到成功为止;
相关文章推荐
- virtualbox中NAT方式通过宿主机访问虚拟机端口映射配置
- 解决Struts2的Action通过get方式访问乱码的问题
- 解决 VirtualBox里Ubuntu的共享文件夹无法访问 之问题
- TP-Link路由器端口映射8081端口的Nexus服务外网无法访问的解决办法
- Tomcat在局域网中localhost可以访问,但是无法通过本地ip访问,127.0.0.1也无法访问问题的解决方法
- mac virtualBox 解决鼠标无法切换问题
- 解决在编程方式下无法访问Spark Master问题
- WebService 通过POST方式访问时候,因 URL 意外地以“/方法名”结束,请求格式无法识别 解决办法
- 如何解决备份访问映射配置错误无法访问的问题
- WebService 通过POST方式访问时候,因 URL 意外地以“/方法名”结束,请求格式无法识别 解决办法
- 解决JBOSS服务器无法通过IP访问的问题
- JBOSS版本:4.2.2GA 无法通过IP访问,或只能通过127.0.0.1访问的问题解决
- 解决JBOSS服务器无法通过IP访问的问题
- 安装完vs.2005之后,重新安装iis后无法使用http方式访问asp.net工程的页面的问题的解决方法
- 解决无法通过80以外的端口访问应用程序
- 如何解决内网无法用PORT方式访问FTP服务器的问题
- 同时安装Vmware Player与VirtualBox 虚拟机无法访问网络问题解决
- Nginx反向代理端口域名无法访问问题解决
- 解决JBOSS服务器无法通过IP访问的问题