无公网IP下,如何实现公网远程访问MongoDB文件数据库

文章目录

  • 前言
  • 1. 安装数据库
  • 2. 内网穿透
    • 2.1 安装cpolar内网穿透
    • 2.2 创建隧道映射
    • 2.3 测试随机公网地址远程连接
  • 3. 配置固定TCP端口地址
    • 3.1 保留一个固定的公网TCP端口地址
    • 3.2 配置固定公网TCP端口地址
    • 3.3 测试固定地址公网远程访问

前言

MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

简单几步实现MongoDB远程访问。

1. 安装数据库

打开MongoDB官网https://www.mongodb.com/try/download/community,这里以windows版本为例。

20230220114401

下载好后,双击安装即可,安装到这一步,须点击complate设置账号密码

20230220114402

进入后可以设置一下密码,然后点击next,或者直接点击next安装即可

20230220114403

安装好后,我们使用连接工具测试连接,这里使用navicat连接

20230220114404

2. 内网穿透

本地连接没问题后,目前该数据库只能在局域网内被访问,不过我们可以使用cpolar内网穿透工具,将内网的MongoDB数据库映射到公网上,实现远程访问,不需要公网IP,也不用设置路由器。

2.1 安装cpolar内网穿透

进入cpolar官网下载页面,下载windows安装包到本地然后解压一路默认安装即可

cpolar官网:https://www.cpolar.com/

20230220114405

2.2 创建隧道映射

cpolar安装成功后,双击打开cpolar【或者在浏览器上访问本地9200端口:127.0.0.1:9200】,使用cpolar邮箱账号登录 web UI管理界面,如果还没有注册cpolar账号的话,点击免费注册,会跳到cpolar官网注册一个账号就可以了

20230220114406

登录成功后,点击左侧仪表盘的隧道管理——创建隧道,创建一个tcp协议的隧道指向本地27017端口:

  • 隧道名称:可自定义,注意不要与已有的隧道名称重复
  • 协议:tcp
  • 本地地址:27017
  • 域名类型:免费选择随机域名
  • 地区:默认China top即可

点击创建

20230220114407

隧道创建成功后,点击左侧的状态——在线隧道列表,可以看到刚刚创建的隧道已经有生成了相应的公网地址,将其复制下来

20230220114408

2.3 测试随机公网地址远程连接

打开navicat,输入tcp公网地址:3.tcp.cpolar.top端口号11249,然后点击测试连接,出现连接成功即可。

20230220114409

3. 配置固定TCP端口地址

由于以上创建的隧道是随机地址隧道,地址会在24小时内变化,为了使连接更加稳定,我们可以为其配置一个固定的tcp连接地址。

需要注意,配置固定TCP端口地址需要将cpolar升级到专业版套餐或以上。

3.1 保留一个固定的公网TCP端口地址

登录cpolar官网,点击左侧的预留,选择保留的TCP地址,我们先来为远程MongoDB保留一个固定端口地址。

  • 地区:选择China VIP
  • 描述:即备注,可自定义填写

点击保留

20230220114411

地址保留成功后,系统会生成相应的固定公网地址,将其复制下来
20230220114412

3.2 配置固定公网TCP端口地址

在浏览器上访问9200端口,http://127.0.0.1:9200/,登录cpolar web ui管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到MongoDB隧道,点击右侧的编辑

20230220114413

修改隧道信息,将保留成功的固定tcp地址配置到隧道中:

  • 端口类型:修改为固定tcp端口
  • 预留的tcp地址:填写保留成功的地址

点击更新

20230220114414

隧道更新成功后,点击左侧仪表盘的状态——在线隧道列表,找到需要编辑的隧道,可以看到公网地址已经更新成为了固定tcp地址。

20230220114415

3.3 测试固定地址公网远程访问

测试使用固定TCP端口地址远程MongoDB,再次打开navicat,使用固定tcp地址连接

20230220114416

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/193049.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【知网稳定检索】2024年应用经济学,管理科学与社会发展国际学术会议(AEMSS 2024)

2024年应用经济学,管理科学与社会发展国际学术会议(AEMSS 2024) 2024 International Conference on Applied Economics, Management Science and Social Development 2024年应用经济学,管理科学与社会发展国际学术会议&#xff…

多段图的最短路径【java】

题目描述: [实验题目1] 设图G(V, E)是一个带权有向图,如果把顶点集合V划分成k个互不相交的子集Vi (2≤k≤n, 1≤i≤k),使得E中的任何一条边(u, v),必有u∈Vi,v∈Vim (1≤i≤k, 1<im≤k),则称图…

卡码网语言基础课 | 14. 链表的基础操作Ⅱ

题目: 构建一个单向链表,链表中包含一组整数数据,输出链表中的第 m 个元素(m 从 1 开始计数)。 要求: 1. 使用自定义的链表数据结构 2. 提供一个 linkedList 类来管理链表,包含构建链表、输出…

自带设备(BYOD)的数据安全防护

自带设备(BYOD)是一项组织策略,允许员工将其个人设备用于商业目的,BYOD 涉及员工使用个人智能手机、平板电脑、计算机和 USB 设备访问官方数据和工作应用程序。 BYOD的优缺点 各地的企业越来越多地采用 BYOD 策略,在…

关于微信小程序中如何实现数据可视化-echarts动态渲染

移动端设备中,难免会涉及到数据的可视化展示、数据统计等等,本篇主要讲解原生微信小程序中嵌入echarts并进行动态渲染,实现数据可视化功能。 基础使用 首先在GitHub上下载echarts包 地址:https://github.com/ecomfe/echarts-for…

Verilog基础:时序调度中的竞争(二)

相关阅读 Verilog基础https://blog.csdn.net/weixin_45791458/category_12263729.html?spm1001.2014.3001.5482 作为一个硬件描述语言,Verilog HDL常常需要使用语句描述并行执行的电路,但其实在仿真器的底层,这些并行执行的语句是有先后顺序…

Python基础:标准库概览

1. 标准库介绍 Python 标准库非常庞大,所提供的组件涉及范围十分广泛,正如以下内容目录所显示的。这个库包含了多个内置模块 (以 C 编写),Python 程序员必须依靠它们来实现系统级功能,例如文件 I/O,此外还有大量以 Pyt…

【文末送书】程序员如何化解35岁危机?

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。关…

怎么快速制作一本出色的电子期刊!

比起传统纸质期刊,电子期刊有着众多的优势,它打破了以往的传播形式和人们传统的时空观念,从而更加贴近人们的生活,更好地满足新时代人们对文化生活的更高要求。如何制作电子期刊呢? 其实很简单,只需要使用…

pytorch中的激活函数详解

1 激活函数介绍 1.1 什么是激活函数 激活函数是神经网络中引入的非线性函数,用于捕获数据中的复杂关系。它来自动物界的灵感,动物的神经元会接受来自对它有作用的其他神经元的信号,当然这些信号对该神经元的作用大小不同(即具有不…

windows通过regsvr32注册dll文件失败

1、注册dll文件失败 最近在研究中文输入法,下载SampleIME源码后编译得到SampleIME.dll,最后只需要将输入法安装(即注册)就可以使用了。 但是通过命令: regsvr32 C:\Windows\System32\SampleIME.dll 注册时却提示错…

案例035:基于微信外卖小程序

文末获取源码 开发语言:Java 框架:SSM JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序…

Yolov8训练数据集过程 + 测试测试集 + 继续训练

做自己第一次使用Yolov8训练的记录 1、下载代码 官网的我没找到对应的视频教程,操作起来麻烦,一下这个链接的代码可以有对应bilibili教程:完整且详细的Yolov8复现训练自己的数据集 选择这个下载: 2、安装需要的包: …

JAVA 算法面试总结

1、二分查找 二分查找又叫折半查找,要求待查找的序列有序。每次取中间位置的值与待查关键字比较,如果中间位置 的值比待查关键字大,则在前半部分循环这个查找的过程,如果中间位置的值比待查关键字小, 则在后半部分循环…

NX二次开发UF_CURVE_create_arc_point_tangent_radius 函数介绍

文章作者:里海 来源网站:https://blog.csdn.net/WangPaiFeiXingYuan UF_CURVE_create_arc_point_tangent_radius Defined in: uf_curve.h int UF_CURVE_create_arc_point_tangent_radius(tag_t point, tag_t tangent_object, double radius, UF_CURVE_…

服务化通信OPC实操

实操也是基于视频进行一些笔记,没得写就少写了 准备 Nuget包准备:OPCfoundation 一般都是使用Ua,当然也是有: 客户端链接服务器参数:IP Port 认证 登录用户名 Session 的实例化创建 进行使用: 因为Ses…

NX二次开发UF_CURVE_ask_proj_curve_parents 函数介绍

文章作者:里海 来源网站:https://blog.csdn.net/WangPaiFeiXingYuan UF_CURVE_ask_proj_curve_parents Defined in: uf_curve.h int UF_CURVE_ask_proj_curve_parents(tag_t proj_curve, tag_t * defining_feature, tag_t * defining_target, tag_t * …

Python基础语法之学习数据转换

Python基础语法之学习数据转换 一、代码二、效果 一、代码 #数字转换成字符串 num_str str(11) print(type(num_str))#字符串转整数 numint("11") print(type(num),num)#浮点数转整数 float_num int(11.1) print(type(float_num),float_num)#整数转浮点数 num_flo…

亚马逊、Allegro卖家运营必备:自养号测评的秘密武器

在当今的电商领域,测评对于商家来说具有至关重要的意义。越来越多的卖家选择自行搭建账号进行测评,相对于找国外买手或测评服务商,主要是出于以下考虑: 一.避免买家账号资源的重复使用:使用国外买手或测评服务商时&am…

在Linux中对Docker中的服务设置自启动

先在Linux中安装docker,然后对docker中的服务设置自启动。 安装docker 第一步,卸载旧版本docker。 若系统中已安装旧版本docker,则需要卸载旧版本docker以及与旧版本docker相关的依赖项。 命令:yum -y remove docker docker-c…