解决VirtualBox中的MySQL数据库,Mac无法访问的问题(通过端口映射的方式)

本文主要是介绍解决VirtualBox中的MySQL数据库,Mac无法访问的问题(通过端口映射的方式),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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,直到成功为止;

这篇关于解决VirtualBox中的MySQL数据库,Mac无法访问的问题(通过端口映射的方式)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1000989

相关文章

MySQL数据库双机热备的配置方法详解

《MySQL数据库双机热备的配置方法详解》在企业级应用中,数据库的高可用性和数据的安全性是至关重要的,MySQL作为最流行的开源关系型数据库管理系统之一,提供了多种方式来实现高可用性,其中双机热备(M... 目录1. 环境准备1.1 安装mysql1.2 配置MySQL1.2.1 主服务器配置1.2.2 从

SpringBoot基于注解实现数据库字段回填的完整方案

《SpringBoot基于注解实现数据库字段回填的完整方案》这篇文章主要为大家详细介绍了SpringBoot如何基于注解实现数据库字段回填的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解... 目录数据库表pom.XMLRelationFieldRelationFieldMapping基础的一些代

Java AOP面向切面编程的概念和实现方式

《JavaAOP面向切面编程的概念和实现方式》AOP是面向切面编程,通过动态代理将横切关注点(如日志、事务)与核心业务逻辑分离,提升代码复用性和可维护性,本文给大家介绍JavaAOP面向切面编程的概... 目录一、AOP 是什么?二、AOP 的核心概念与实现方式核心概念实现方式三、Spring AOP 的关

IDEA和GIT关于文件中LF和CRLF问题及解决

《IDEA和GIT关于文件中LF和CRLF问题及解决》文章总结:因IDEA默认使用CRLF换行符导致Shell脚本在Linux运行报错,需在编辑器和Git中统一为LF,通过调整Git的core.aut... 目录问题描述问题思考解决过程总结问题描述项目软件安装shell脚本上git仓库管理,但拉取后,上l

深入理解Mysql OnlineDDL的算法

《深入理解MysqlOnlineDDL的算法》本文主要介绍了讲解MysqlOnlineDDL的算法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小... 目录一、Online DDL 是什么?二、Online DDL 的三种主要算法2.1COPY(复制法)

Linux挂载linux/Windows共享目录实现方式

《Linux挂载linux/Windows共享目录实现方式》:本文主要介绍Linux挂载linux/Windows共享目录实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录文件共享协议linux环境作为服务端(NFS)在服务器端安装 NFS创建要共享的目录修改 NFS 配

mysql8.0.43使用InnoDB Cluster配置主从复制

《mysql8.0.43使用InnoDBCluster配置主从复制》本文主要介绍了mysql8.0.43使用InnoDBCluster配置主从复制,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录1、配置Hosts解析(所有服务器都要执行)2、安装mysql shell(所有服务器都要执行)3、

解决docker目录内存不足扩容处理方案

《解决docker目录内存不足扩容处理方案》文章介绍了Docker存储目录迁移方法:因系统盘空间不足,需将Docker数据迁移到更大磁盘(如/home/docker),通过修改daemon.json配... 目录1、查看服务器所有磁盘的使用情况2、查看docker镜像和容器存储目录的空间大小3、停止dock

Vue3视频播放组件 vue3-video-play使用方式

《Vue3视频播放组件vue3-video-play使用方式》vue3-video-play是Vue3的视频播放组件,基于原生video标签开发,支持MP4和HLS流,提供全局/局部引入方式,可监听... 目录一、安装二、全局引入三、局部引入四、基本使用五、事件监听六、播放 HLS 流七、更多功能总结在 v

k8s中实现mysql主备过程详解

《k8s中实现mysql主备过程详解》文章讲解了在K8s中使用StatefulSet部署MySQL主备架构,包含NFS安装、storageClass配置、MySQL部署及同步检查步骤,确保主备数据一致... 目录一、k8s中实现mysql主备1.1 环境信息1.2 部署nfs-provisioner1.2.