如何实现固定公网地址远程访问本地部署的Termux MySQL数据库

news2024/12/28 6:04:42

文章目录

  • 前言
  • 1.安装MariaDB
  • 2.安装cpolar内网穿透工具
  • 3. 创建安全隧道映射mysql
  • 4. 公网远程连接
  • 5. 固定远程连接地址

前言

Android作为移动设备,尽管最初并非设计为服务器,但是随着技术的进步我们可以将Android配置为生产力工具,变成一个随身Linux。

MariaDB是MySQL关系数据库管理系统的一个复刻,由社区开发,有商业支持,旨在继续保持在 GNU GPL 下开源。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。

接下来我们通过简单几步操作,在安卓手机termux上安装MariaDB(mysql) 数据库,并结合cpolar内网穿透,来实现公网环境下的远程连接访问。

1.安装MariaDB

Termux 官方也封装了 MariaDB,所以安装起来很方便:

pkg install mariadb

验证是否安装成功,查看一下版本信息

mysql --version

出现版本信息表示安装成功

image-20230511105447233

启动数据库,使用 Linux 自带的 nohup 命令将其放到后台启动

nohup mysqld &

启动后可以看到进程PID号

image-20230511111209798

如果想要关闭mysql,可以执行:

kill -9 PID

2.安装cpolar内网穿透工具

在Android termux上成功安装MySQL数据库后,我们继续在termux上安装cpolar,做内网穿透创建安全隧道将MySQL暴露到公网上,实现在不同网络下也可以远程连接termux上的MySQL数据库。

cpolar使用不需要公网IP,也不用设置路由器,亦不需要买云服务器。它支持http/https/tcp协议,可以免费使用也不限制流量。

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

创建一个sources.list.d的文件夹:

mkdir -p $PREFIX/etc/apt/sources.list.d

添加cpolar下载源文件

echo "deb [trusted=yes] http://termux.cpolar.com termux extras" >> $PREFIX/etc/apt/sources.list.d/cpolar.list

更新仓库

pkg update

安装cpolar

pkg install cpolar

安装termux服务,注意: 安装完成后记得关闭重启一下termux 才生效!!

pkg install termux-services

重启完termux后,然后启动cpolar内网穿透

sv up cpolar

设置开机自启

sv-enable cpolar

另外: 停止cpolar服务的命令

sv down cpolar

以及,cpolar.yml主配置文件路径位置

$PREFIX/etc/cpolar/cpolar.yml

然后在手机浏览器我们输入http://localhost:9200,就可以看到cpolar web UI管理界面,使用在cpolar官网注册的邮箱账号即可登陆

image-20230509155942139

3. 创建安全隧道映射mysql

登录cpolar web UI管理界面后,我们点击左侧仪表盘的隧道管理——创建隧道,由于mysql连接默认的是3306端口,因此我们要来创建一条tcp隧道,指向3306端口:

  • 隧道名称:可自定义,注意不要重复
  • 协议:tcp
  • 本地地址:3306 (mysql 默认端口)
  • 域名类型:选择随机域名
  • 地区:选择China VIP

点击创建

image-20230511133502882

创建好后打开在线隧道列表,可以查看到所生成的随机公网tcp地址,复制下来,注意tcp://无需复制

4. 公网远程连接

上面我们创建好公网地址后,接下来我们使用工具远程连接测试,本文使用比较火热的一款数据库连接工具软件navicat,打开工具界面,输入上面我们的公网地址和对应的端口,由于创建的时候没有设置密码,所以我们无需填写密码,点击测试连接,连接成功表示正常。

同样,其他连接工具也是同样的连接方法。

image-20230511134615494

5. 固定远程连接地址

由于我们上面创建隧道时,使用的是免费随机临时地址,所生成的公网地址会在24小时内随机变化。如果想要让不同设备间的数据隧道长期稳定存在,我们还需要进一步的设置(由于固定TCP隧道会长期占用cpolar服务器资源,因此不得不将此服务列入VIP项目中)。

要建立一条稳定的TCP数据隧道,需要先到cpolar官网后台保留一个固定的TCP地址。

20230519093033

我们登录cpolar官网后台,点击左侧仪表盘的预留,找到保留的TCP地址

  • 地区:这里选择China VIP,你也可以选择其他地区
  • 描述:可自定义备注

点击右侧的保留

image-20230511153139329

在这些信息填入后,点击右侧的保留按钮,将cpolar官网后台的隧道固定下来。此时cpolar会生成一个隧道tcp端口

image-20230511153205122

接着我们回到浏览器cpolar web ui管理界面,打开隧道列表,找到之前创建的随机临时TCP隧道,进入编辑页面:

image-20230511153321327

端口类型选择固定TCP端口,然后将我们在cpolar官网获得的隧道端口粘贴进预留的TCP地址栏中,然后点击下方的更新按钮

image-20230511153415936

接着再次查看在线隧道列表,可以发现mysql的隧道对应的公网地址变成了我们官网保留的固定地址

image-20230511153512015

将远程MySQL的公网地址配置成固定的了后,我们来测试一下使用固定公网地址连接,同样也是可以正常远程连接到termux MySQL。

现在只要保持这条隧道为在线状态,我们在外可以通过这个公网地址来远程连接Termux MySQL。

image-20230511153921009

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

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

相关文章

Arthas项目实战用法

一、简介 1、项目所在位置 2、安装Arthas 1. 下载arthas-boot.jar 2. 运行arthas-boot.jar 3. 选择进程 3、卸载Arthas 二、核心监视功能 1、monitor:监控方法的执行情况 2、watch:检测函数返回值 3、trace:根据路径追踪,…

java转义字符

//转义字符的使用 public class ChangeChar{//编写一个main方法public static void main(String[] args){// \t :一个制表位,实现对齐的功能System.out.println("北京\t天津\t上海");// \n :换行符,实现换行System.out.println("jack\nsm…

【OJ】牛客链表刷题

题目 1. 链表分割1.1 题目分析1.2 代码 2. 链表的回文结构2.1 题目分析2.2 代码 这里两道与链表有关的题目均来自牛客。 1. 链表分割 1.1 题目分析 因为这里代码不能选择用c语言写,所以选择用c,因为c兼容c。 题目要求分割链表,我们可以直接弄成两个带哨…

【笔记】Helm-3 主题-6 Chart仓库指南

Chart仓库指南 本节介绍如何创建和使用chart仓库。在高层级中,chart仓库是打包的chart存储和分享的位置。 社区的Helm chart仓位于 Artifact Hub ,欢迎加入。不过Helm也可以创建并运行您自己的chart仓库。该指南将介绍如何操作。 Artifact Hub 先决条…

威士忌的品鉴之旅麦芽制备:从浸泡、发芽到干燥

麦芽制备是威士忌酿造过程中至关重要的一环,它直接影响到产品的品质和风味。麦芽的制备包括浸泡、发芽、干燥等环节,每个环节都需要严格控制温度、湿度和时间等细节。本文将深入探讨麦芽制备的过程,以雷盛537威士忌,分析麦芽制作过…

4人遇难,北京突发火情 富维烟火识别防止悲剧再次发生

在北京一处居民区,一场突如其来的火灾夺走了四条宝贵的生命。火情迅速蔓延,烟雾弥漫,居民们猝不及防。这一悲剧再次提醒我们,火灾预防和早期识别的重要性不容忽视。 在这样的背景下,北京富维图像公司开发的FIS智能图像…

肯尼斯·里科《C和指针》第7章 函数(2)递归

7.5 递归 C通过运行时堆栈支持递归函数的实现。递归函数就是直接或间接调用自身的函数。许多教科书都把计算阶乘和斐波那契数列用来说明递归,这是非常不幸的。在第1个例子中,递归并没有提供任何优越之处。在第2个例子中,它的效率之低是非常恐…

中国多家半导体设备厂表现出色,营收可观 | 百能云芯

多家中国半导体设备大厂近日相继发布了2023年度业绩预告,表现出色,营收和净利润均呈现较大幅度的增长,这一利好消息背后得益于半导体行业周期的复苏以及国产半导体需求的持续增长。 据百能云芯电子元器件商城了解,北方华创发布的公…

域中的主机报错1231解决办法

1、 这个一般是使用 net view /domain 的时候出现的报错,若是报错 6118 只需在域控制器中开启 computer browser 服务即可 2、解决了 6118 问题后,在域控制器上已经能使用 net view /domain 了,但是域中的其它主机上会出现 1231 问题&#xf…

单臂路由【新华三与华为区别】

【技术介绍】单臂路由,简单来讲,就是在一个路由器的物理端口上虚拟几个虚拟端口,从而达到节约资源的效果 【背景】 R1上进行单臂路由 【操作】 【华为】 [HW-SWA] vlan batch 10 20 int g0/0/1 port link-type access port default vlan 10…

揭露欧拉骗局5.构建函数1/n>ln(1+1/n)公开作弊

构建函数又名构造函数,是欧系数学的重要解题方法。构建函数最成功的范例是“1/n>ln(11/n)”,它来自欧拉,其手段极其卑劣下作!随心所欲、目空一切是欧拉的习惯 欧拉证明1/n>ln(11/n)的操作有两步&#xff1…

【陈老板赠书活动 - 22期】- 人工智能(第三版)

陈老老老板🧙‍♂️ 👮‍♂️本文专栏:赠书活动专栏(为大家争取的福利,免费送书) 🤴本文简述:活就像海洋,只有意志坚强的人,才能到达彼岸。 👳‍♂️上一篇文章&#xff…

阿里云ack集群管理及故障处理

一、集群管理维护 二、常见故障处理 存储: 网络 弹性伸缩 service

头像空白问题

当用户没有设置头像时,我们可以使用用户名第一个字来当头像 主要涉及一个截取,截取字符串第一个字 变量名.charAt(0) 如果变量名为null或者undefine 那么就会报错 使用可选链操作符 ? 当前面的值为nul或undefine时,就不会执行…

MySQL深度分页优化问题

☆* o(≧▽≦)o *☆嗨~我是小奥🍹 📄📄📄个人博客:小奥的博客 📄📄📄CSDN:个人CSDN 📙📙📙Github:传送门 📅&a…

JAVAEE初阶 文件IO(二)

文件IO 一. 文件流1.1 字节流 inputStream(1) try with resources方法 1.2 read方法(1) 第一个read方法(2) 第二个read方法(3) read的第三个方法 1.3 字节流 OutoutStream1.4 字符流(1) reader(2) writer 一. 文件流 1.1 字节流 inputStream 在字节流中,我们使用inputStream和…

1.18寒假集训

A: 解题思路&#xff1a; 这题看似很复杂&#xff0c;其实很简单&#xff0c;找规律不难发现就是输出n 1 下面是c代码&#xff1a; #include<iostream> using namespace std; int main() {int n;cin >> n;cout << n 1;return 0; } B: 解题思路&#xf…

QT-贪吃小游戏

QT-贪吃小游戏 一、演示效果二、关键程序三、下载链接 一、演示效果 二、关键程序 #include "Snake.h" #include "Food.h" #include "Stone.h" #include "Mushroom.h" #include "Ai.h" #include "Game.h" #inclu…

Python+selenium实现浏览器基本操作详解

关闭 driver 启动的浏览器 上一章节文末&#xff0c;我们介绍了关于两种关闭浏览器的方式&#xff0c;这里不做过多的复述。&#xff08;实在是这一章节的内容太少了&#xff09; 在 selenium 中&#xff0c;提供了两种关闭 driver 启动的浏览器的方式&#xff1a; close() 方…