通过内网穿透本地MariaDB数据库,实现在公网环境下使用navicat图形化工具

公网远程连接MariaDB数据库【cpolar内网穿透】

文章目录

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

本篇教程将使用cpolar内网穿透本地MariaDB数据库,并实现在外公网环境下使用navicat图形化工具远程连接本地内网的MariaDB数据库。

1. 配置MariaDB数据库

1.1 安装MariaDB数据库

进入MariaDB数据库官网https://mariadb.com/downloads/community/,然后下载相应的windows版本

20230220112101

下载好后点击安装,出现设置密码界面设置一下密码,mariaBD和mysql使用同样的端口,如本机已经安装mysql,在安装过程中需要更改mariaDB端口,或者卸载mysql

20230220112102

1.2 测试局域网内远程连接

安装成功后使用连接工具测试是否能连接,这里使用navicat进行测试连接

20230220112103

测试局域网内连接成功

2. 内网穿透

本地测试连接没问题后,我们来做内网穿透,将其发布到公网环境下进行远程访问。

因为该数据库目前只能在局域网内被访问,但是我们可以使用cpolar内网穿透工具,将内网的MariaDB数据库映射到公网上,实现远程访问。

2.1 创建隧道映射

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

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

20230220112104

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

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

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

点击创建

20230220112106

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

20230220112107

2.2 测试随机地址公网远程访问

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

20230220112108

3. 配置固定TCP端口地址

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

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

20230220112109

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

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

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

点击保留

20230220112110

地址保留成功后,系统会生成相应的固定公网地址,将其复制下来,接下来将其配置到隧道中。

20230220112111

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

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

20230220112112

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

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

点击更新

20230220112113

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

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

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

20230220112115

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

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

相关文章

鼠标点击位置获取几何体对象_vtkAreaPicker_vtkInteractorStyleRubberBandPick

开发环境: Windows 11 家庭中文版Microsoft Visual Studio Community 2019VTK-9.3.0.rc0vtk-example参考代码 demo解决问题:框选或者点选某一区域,并获取区域prop3D对象(红线内为有效区域,polydata组成的3d几何对象&a…

VSCode 连接远程服务器问题及解决办法

端口号不一样,需要在配置文件中添加Port Host 27.223.26.46HostName 27.223.*.*User userForwardAgent yesPort 14111输入密码后可以连接 在vscode界面,终端,生成公钥&私钥 ssh-keygen可以看到有id_rsa和id_rsa.pub两个文件生成&#…

Linux:Ubuntu实现远程登陆

1、查看sshd服务是否存在 Ubuntu默认是没有安装sshd服务的,所以,无法远程登陆。 检查22端口是否存在 netstat -anp 该命令执行后,查看不到22端口的进程。 如果netstat无法使用,我们需要安装一下netstat服务 sudo apt-get install…

基于Springboot的冬奥会科普平台(有报告),Javaee项目,springboot项目。

演示视频: 基于Springboot的冬奥会科普平台(有报告),Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层…

SSL握手失败的解决方案

一、SSL握手失败的原因: 1,证书过期:SSL证书有一个有效期限,如果证书过期,就会导致SSL握手失败。 2,证书不被信任:如果网站的SSL证书不被浏览器或操作系统信任,也会导致SSL握手失败…

【深度学习】P1 数据缺失值预处理

数据缺失值预处理 创建数据集展示数据集缺失值处理 创建数据集 首先创建一个人工数据集,作为下文对数据缺失值预处理的案例, import osos.makedirs(os.path.join(.., data), exist_okTrue) data_file os.path.join(.., data, house_tiny.csv) with op…

系列十、声明式事务(注解方式)

一、概述 声明式事务(declarative transaction management)是Spring提供的对程序事务管理的一种方式,Spring的声明式事务顾名思义就是采用声明的方式来处理事务。这里所说的声明,是指在配置文件中声明,用在Spring配置文件中声明式的处理事务来…

浏览器是什么

浏览器是什么 本文简要介绍浏览器的功能和组成。 浏览器(Web Browser)是一种用于访问和浏览互联网上的网页和资源的软件应用程序。它是用户与互联网交互的主要工具之一。 浏览器通过使用网络协议(如HTTP、HTTPS等)与远程服务器通…

AD9361纯逻辑控制从0到1连载10-多芯片同步MCS以及射频同步方法

本文基于ZC706FMCOMMS5的平台,介绍了AD9361的多芯片同步设计方法。这里的“同步”包含了基带同步以及射频同步。AD9361原生只支持基带同步,官方的名称叫MCS(Multi-chip Baseband Synchronization ),实际上配合外围的射…

Go 本地搭建playground

搭建go playground 的步骤 1、安装docker 如果你使用的Ubuntu,docker的安装步骤可以参见这里,这是我之前写的在Ubuntu18.04下安装fabric,其中有docker的安装步骤,这里就不再赘述了。 CentOS下安装docker的,可以参见…

使用 JavaScript 进行 API 测试的综合教程

说明 API 测试是软件测试的一种形式,涉及直接测试 API 并作为集成测试的一部分,以确定它们是否满足功能、可靠性、性能和安全性的预期。 先决条件: JavaScript 基础知识。Node.js 安装在您的计算机上。如果没有,请在此处下载。npm…

C语言剔除相关数(ZZULIOJ1204:剔除相关数)

题目描述 一个数与另一个数如果含有相同数字和个数的字符&#xff0c;则称两数相关。现有一堆乱七八糟的整数&#xff0c;里面可能充满了彼此相关的数&#xff0c;请你用一下手段&#xff0c;自动地将其剔除。 输入&#xff1a;多实例测试。每组数据包含一个n(n<1000)&#…

.netcore 获取appsettings

我的开发环境是abpvnext net6.0 。 因为业务需要&#xff0c;从原来老项目net4.5工程里复制了一个报表导出的业务类到net6项目里面&#xff0c;但是他的获取appsettings的代码其实不用想都知道会报错。因为原来framwork时代获取appsettings的方法常见的是 System.Configura…

Jenkins CI/CD

1、 Jenkins CI/CD 流程图 说明&#xff1a;这张图稍微更形象一点&#xff0c;上线之前先把代码git到版本仓库&#xff0c;然后通过Jenkins 如Java项目通过maven去构建&#xff0c;这是在非容器之前&#xff0c;典型的自动化的一个版本上线流程。那它有哪些问题呢&#xff1f; …

PyQt基础_004_ 按钮类控件QPushButton以及自定义按钮控件

Qpushbutton基本操作 1.热键 2.按钮加图标 3.按钮事件等 import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import *class Form(QDialog):def __init__(self, parentNone):super(Form, self).__init__(parent)layout QVBoxLayout()se…

万字长文 - Python 日志记录器logging 百科全书 - 高级配置之 日志文件配置

万字长文 - Python 日志记录器logging 百科全书 - 高级配置之 日志文件配置 前言 在 Python 的logging模块中&#xff0c;它不仅提供了基础的日志功能&#xff0c;还拥有一系列高级配置选项来满足复杂应用的日志管理需求。 说到logging 模块的高级配置&#xff0c;必须提及日…

模拟退火算法应用——求解函数的最小值

仅作自己学习使用 一、问题 需求&#xff1a; 计算函数 的极小值&#xff0c;其中个体x的维数n10&#xff0c;即x(x1,x2,…,x10)&#xff0c;其中每一个分量xi均需在[-20,20]内。因此可以知道&#xff0c;这个函数只有一个极小值点x (0,0,…,0)&#xff0c;且其极小值是0&…

STM32_7(ADC)

一、ADC ADC&#xff08;Analog-Digital Converter&#xff09;模拟-数字转换器ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量&#xff0c;建立模拟电路到数字电路的桥梁12位逐次逼近型ADC&#xff0c;1us转换时间输入电压范围&#xff1a;0~3.3V&#xff0c;…

蓝桥杯物联网竞赛_STM32L071_4_按键控制

原理图&#xff1a; 当按键S1按下PC14接GND&#xff0c;为低电平 CubMX配置: Keil配置&#xff1a; main函数&#xff1a; while (1){/* USER CODE END WHILE */OLED_ShowString(32, 0, "hello", 16);if(Function_KEY_S1Check() 1){ OLED_ShowString(16, 2, &quo…

HTTP/2:多路复用、服务器推送和首部压缩的革命

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…