如何实现在公网下使用navicat图形化工具远程连接本地内网的MariaDB数据库

公网远程连接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 测试固定地址公网远程访问
        • 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地址连接

…(img-gdbfqetI-1700728785310)]

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

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

20230220112115

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis深入理解-Socket连接建立流程以及文件事件处理机制

Redis Server 运行原理图 Redis 服务器中 Socket 网络建立以及文件事件模型 一个 redis 单机,可以抗几百上千的并发,这里的并发指的就是同时可以有几百个 client 对这个 redis server 发起请求,都需要去建立网络连接,同时间可能会…

利用 docker 实现JMeter分布式压测

为什么需要分布式? 在工作中经常需要对一些关键接口做高QPS的压测,JMeter是由Java 语言开发,没创建一个线程(虚拟用户),JVM默认会为每个线程分配1M的堆栈内存空间。受限于单台试压机的配置很难实现太高的并…

YAML 深入解析:从语法到最佳实践

什么是YAML YAML(YAML Ain’t Markup Language)是一种人类可读的数据序列化语言。它的设计目标是使数据在不同编程语言之间交换和共享变得简单。YAML采用了一种简洁、直观的语法,以易于阅读和编写的方式表示数据结构。 YAML广泛应用于配置文…

【OpenCV实现图像:制作酷炫的动画效果】

文章目录 概要生成背景图添加点动画添加文本显示小结 概要 首先,通过导入必要的库,包括NumPy用于数学运算和Matplotlib库用于数据可视化。随后,创建图形和轴,初始化点的位置,以及编写初始化函数和更新函数。 初始化函…

C语言归并排序

以梦为马,不负韶华 文章目录 引入:实现原理问题引出:递归实现:迭代实现稳定性分析:总结: 引入: 如何将两个有序数组(假设为升序)合并为一个有序数组? 双指针…

yolov5/v7修改标签和检测框显示【最全】

《记录自己在使用yolov5遇到的一些问题》同时也供大家参考,如果对你们有帮助,希望大家可以给个点赞、收藏鼓励下,非常感谢! 以自带的一张图片作为示例,yolov5(6.1版本)的初始检测框应该是如下图所示 修改线条粗细、隐藏标签、隐…

EI论文故障识别程序:DBN深度置信/信念网络的故障识别Matlab程序,数据由Excel导入,直接运行!

​适用平台:Matlab2021b版及以上 本程序参考中文EI期刊《基于变分模态分解和改进灰狼算法优化深度置信网络的自动转换开关故障识别》中的深度置信网络(Deep Belief Network,DBN)部分进行故障识别,程序注释清晰&#x…

Python之学生信息管理系统

目录 一、基础界面实现 1、主函数 2、保持循环,获取用户需求 二、函数实现模块功能 1、添加学生信息 2、删除学生信息 3、修改学生信息 4、查找全部学生信息 5、退出系统 三、整合代码 1、 完整代码 2、完整实现过程 实现 打印功能菜单、添加学生信息、删…

想自学软件测试?一般人我还是劝你算了吧。。。

📢专注于分享软件测试干货内容,欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!📢交流讨论:欢迎加入我们一起学习!📢资源分享:耗时200小时精选的「软件测试」资…

<keep-alive>作用及用法

<keep-alive>是Vue.js的内置组件。它用于缓存具有相同组件树的组件。当组件使用<keep-alive>包裹时&#xff0c;组件不会被销毁&#xff0c;而是会缓存到内存中&#xff0c;等到下次再次渲染时&#xff0c;直接使用缓存中的组件实例。 <keep-alive>有以下几…

【Linux】共享内存

文章目录 一、共享内存的原理详谈共享内存的实现过程二、共享内存的接口函数1.shmget2. shmatshmdtshmctl 进程间使用共享内存通信三、共享内存的特性 关于代码 一、共享内存的原理 共享内存是由操作系统维护和管理的一块内存。 共享内存的本质是内核级的缓冲区。 一个进程向…

C语言精华题目锦集1

第一题 test.c文件中包括如下语句&#xff0c;文件中定义的四个变量中&#xff0c;是指针类型的是&#xff08;&#xff09;【多选】 #define INT_PTR int* typedef int* intptr; INT_PRT a,b; int_ptr c,d;A:a  B:b  C:c  D:d #define是宏定义&#xff0c;此时在程序中IN…

SQLite3 数据库学习(六):Qt 嵌入式 Web 服务器详解

参考引用 SQLite 权威指南&#xff08;第二版&#xff09;SQLite3 入门 1. Apache 搭建 cgi 环境 1.1 什么是 Apache Apache 是世界使用排名第一的 Web 服务器软件 它可以运行在几乎所有广泛使用的计算机平台上&#xff0c;由于其跨平台和安全性被广泛使用 1.2 具体搭建流程…

一、用户管理

一、后端数据库初始化 1.1 因为版本问题&#xff0c;始终报错&#xff0c;按照报错信息去查询解决方案&#xff0c;无法解决 灵机一动&#xff1a; 网址&#xff1a; Spring Boot 3.0 升级 实战踩坑记录 - 掘金 (juejin.cn) &#xff11;.&#xff12; 个人配置【运行成功…

c++的三目运算符

C三目运算符增强 C中的三目运算符表达式返回的可以是一个变量&#xff0c;但是C语言中返回的是一个常量。 C语言中&#xff1a; void test05() { int a 10; int b 20; printf("%d\n", a < b ? a : b); //在C语言中三目运算符返回的是表达式的值&am…

Javascript每天一道算法题(十三)——最大子数组和_中等

文章目录 动态规划题三个重要步骤&#xff08;了解思路&#xff09;1、问题2、示例3、解决方法&#xff08;1&#xff09;方法1——动态规划 总结 动态规划题三个重要步骤&#xff08;了解思路&#xff09; &#xff08;1&#xff09;定义数组元素的含义 用一个数组来保存历史数…

2020年06月 Scratch(三级)真题解析#中国电子学会#全国青少年软件编程等级考试

Scratch等级考试(1~4级)全部真题・点这里 一、单选题(共25题,每题2分,共50分) 第1题 执行以下脚本后舞台上的角色将 ? A:先克隆自身,克隆体出现后被删除。 B:先克隆自身,克隆体出现后删除本体。 C:克隆出自身后本体与克隆体同时被删除。 D:克隆出自身后本体与克…

docker常用命令, 镜像版本的导入、导出并加载,打包镜像的命令

文章目录 docker常用命令&#xff1a;打镜像包&#xff1a;镜像版本的导入、导出并加载 docker常用命令&#xff1a; 打镜像包&#xff1a; ​ docker build -t calc:20230630 /home/apps/calc/docker/ 删除某个镜像的版本&#xff0c;allen_mysql的5.7版本 docker rmi all…

Redis深入理解-内核请求处理流程、数据传输协议

Redis 内核级请求处理流程 Redis Server 其实就是 Linux 服务器中的一个进程 主要还是下图的流程 应用先和 server 端建立 TCP 连接建立连接之后&#xff0c;server 端就会有一个与该客户端通信的 socket&#xff0c;客户端的读写请求发送到服务端的 socket那么通过 IO 多路…

分组背包问题学习笔记 AcWing 9. 分组背包问题

原题 有 N&#xfffd; 组物品和一个容量是 V&#xfffd; 的背包。 每组物品有若干个&#xff0c;同一组内的物品最多只能选一个。 每件物品的体积是 vij&#xfffd;&#xfffd;&#xfffd;&#xff0c;价值是 wij&#xfffd;&#xfffd;&#xfffd;&#xff0c;其中 …