解决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

相关文章

Kotlin Map映射转换问题小结

《KotlinMap映射转换问题小结》文章介绍了Kotlin集合转换的多种方法,包括map(一对一转换)、mapIndexed(带索引)、mapNotNull(过滤null)、mapKeys/map... 目录Kotlin 集合转换:map、mapIndexed、mapNotNull、mapKeys、map

MySQL 主从复制部署及验证(示例详解)

《MySQL主从复制部署及验证(示例详解)》本文介绍MySQL主从复制部署步骤及学校管理数据库创建脚本,包含表结构设计、示例数据插入和查询语句,用于验证主从同步功能,感兴趣的朋友一起看看吧... 目录mysql 主从复制部署指南部署步骤1.环境准备2. 主服务器配置3. 创建复制用户4. 获取主服务器状态5

nginx中端口无权限的问题解决

《nginx中端口无权限的问题解决》当Nginx日志报错bind()to80failed(13:Permissiondenied)时,这通常是由于权限不足导致Nginx无法绑定到80端口,下面就来... 目录一、问题原因分析二、解决方案1. 以 root 权限运行 Nginx(不推荐)2. 为 Nginx

SpringBoot中六种批量更新Mysql的方式效率对比分析

《SpringBoot中六种批量更新Mysql的方式效率对比分析》文章比较了MySQL大数据量批量更新的多种方法,指出REPLACEINTO和ONDUPLICATEKEY效率最高但存在数据风险,MyB... 目录效率比较测试结构数据库初始化测试数据批量修改方案第一种 for第二种 case when第三种

解决1093 - You can‘t specify target table报错问题及原因分析

《解决1093-Youcan‘tspecifytargettable报错问题及原因分析》MySQL1093错误因UPDATE/DELETE语句的FROM子句直接引用目标表或嵌套子查询导致,... 目录报js错原因分析具体原因解决办法方法一:使用临时表方法二:使用JOIN方法三:使用EXISTS示例总结报错原

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

MySql基本查询之表的增删查改+聚合函数案例详解

《MySql基本查询之表的增删查改+聚合函数案例详解》本文详解SQL的CURD操作INSERT用于数据插入(单行/多行及冲突处理),SELECT实现数据检索(列选择、条件过滤、排序分页),UPDATE... 目录一、Create1.1 单行数据 + 全列插入1.2 多行数据 + 指定列插入1.3 插入否则更

MySQL深分页进行性能优化的常见方法

《MySQL深分页进行性能优化的常见方法》在Web应用中,分页查询是数据库操作中的常见需求,然而,在面对大型数据集时,深分页(deeppagination)却成为了性能优化的一个挑战,在本文中,我们将... 目录引言:深分页,真的只是“翻页慢”那么简单吗?一、背景介绍二、深分页的性能问题三、业务场景分析四、

MySQL 迁移至 Doris 最佳实践方案(最新整理)

《MySQL迁移至Doris最佳实践方案(最新整理)》本文将深入剖析三种经过实践验证的MySQL迁移至Doris的最佳方案,涵盖全量迁移、增量同步、混合迁移以及基于CDC(ChangeData... 目录一、China编程JDBC Catalog 联邦查询方案(适合跨库实时查询)1. 方案概述2. 环境要求3.

SpringSecurity整合redission序列化问题小结(最新整理)

《SpringSecurity整合redission序列化问题小结(最新整理)》文章详解SpringSecurity整合Redisson时的序列化问题,指出需排除官方Jackson依赖,通过自定义反序... 目录1. 前言2. Redission配置2.1 RedissonProperties2.2 Red