Android Termux安装MySQL,内网穿透实现公网远程访问

news2025/1/11 7:40:05

文章目录

  • 前言
  • 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/1232329.html

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

相关文章

【Linux】:进程间通信和日志模拟

进程间通信 一.基本概念二.简单的通信-管道(匿名管道)1.建立通信信道2.通信接口 三.命名管道三.模拟命名管道通信(加上日志)1.完整代码2.基本使用 一.基本概念 是什么 两个或多个进程实现数据层面的交互。 因为进程独立性的存在,导致进程间…

【前段基础入门之】=>CSS3新特性 BFC

什么是BFC( 概念) W3C 上对 BFC 的定义: MDN 上对 BFC 的定义: 简而言之 开启了BFC能解决什么问题 元素开启 BFC 后,其子元素不会再产生 margin 塌陷问题元素开启 BFC 后,自己不会被其他浮动元素所覆盖元素开启 BFC 后&#xff0…

【Java】多线程-wait/notify

1、wait和notify Java的多线程中,线程的执行顺序和时间都是不定的。为了控制线程的调度顺序,前面我们引入了join()方法。 但是join()只能在线程执行完后,才能执行其他线程,有没有什么方法可以在线程执行顺序中来调度其他线程呢&…

代码随想录 Day50 单调栈 LeetCodeT503 下一个最大元素II T42接雨水

前言 前面我们说到了单调栈的第一题,下一个最大元素I,其实今天的两道题都是对他的变种,知道第一个单调栈的思想能够想清楚,其实这道题是很简单的 考虑好三个状态,大于等于小于,其实对于前面这些题目只要细心的小伙伴就会发现其实小于和等于的处理是一样的都是直接入栈,只有大于…

灵魂拷问std::enable_shared_from_this,揭秘实现原理

灵魂拷问std::enable_shared_from_this,揭秘实现原理 引言 在C编程中,使用智能指针是一种安全管理对象生命周期的方式。std::shared_ptr是一种允许多个指针共享对象所有权的智能指针。然而,当一个对象需要获取对自身的shared_ptr时&#xff0…

中贝转债上市价格预测

中贝转债-113678 基本信息 转债名称:中贝转债,评级:A,发行规模:5.17亿元。 正股名称:中贝通信,今日收盘价:49.2元,转股价格:32.8元。 当前转股价值 转债面值…

JavaScript中的random小案例

前言 Math对象是JavaScript的内置对象,而random是Math对象属性 Math.random()函数返回一个浮点数,伪随机数在范围从0 到小于1,也就是说,从 0(包括 0)往上,但是不包括 1&a…

Python编程技巧 – 使用字典

Python编程技巧 – 使用字典 Python Programming Skills – Using Dictionary Dictionary, 即字典,这是Python语言的一种重要的数据结构;Python字典是以键(key)值(value)对为元素,来存储数据的集合。 前文提到Python列…

春秋云境靶场CVE-2022-30887漏洞复现(任意文件上传漏洞)

文章目录 前言一、CVE-2022-30887描述和介绍二、CVE-2021-41402漏洞复现1、信息收集2、找可能可以进行任意php代码执行的地方3、漏洞利用找flag 总结 前言 此文章只用于学习和反思巩固渗透测试知识,禁止用于做非法攻击。注意靶场是可以练习的平台,不能随…

【电路笔记】-星三角变换(Star-Delta Transformation)

星三角变换(Star-Delta Transformation) 文章目录 星三角变换(Star-Delta Transformation)1、概述1.1 单相配置1.2 多相配置 2、三相连接2.1 Y配置2.2 Δ配置 3、Y-Δ 和 Δ-Y 变换3.1 Y-Δ变换3.2 Δ-Y变换3.3 应用 4、总结 本文…

使用ssh在本地环境(Windows)连接虚拟机以及其中的docker容器

配置虚拟机防火墙 防火墙的一系列操作需要root权限,默认是没有root密码的,所以首先需要设置root密码: sudo passwd root按提示完成root密码设置 切换到root账户 su root启用22端口并重启防火墙 firewall-cmd --permanent --add-port22/tc…

【zabbix监控四】zabbix之监控tomcat服务报警

一、监控tomcat服务是否正常运行 1、客户端部署 首先要在zabbix-agent客户端上安装tomcat服务,并能正常启动和关闭 1.1 客户端编写脚本 vim /opt/tomcat.sh#!/bin/bash anetstat -natp |grep 8080|awk {print $6}|grep LISTEN if [[ $a LISTEN ]];thenecho &qu…

【目标测距】雷达投影测距

文章目录 前言一、读取点云二、点云投影图片三、读取检测信息四、点云投影测距五、学习交流 前言 雷达点云投影相机。图片目标检测,通过检测框约束等等对目标赋予距离。计算消耗较大,适合离线验证操作。在线操作可以只投影雷达检测框。 一、读取点云 py…

HandBrake :MacOS专业视频转码工具

handbrake 俗称大菠萝,是一款免费开源的视频转换、压缩软件,它几乎支持目前市面上所能见到的所有视频格式,并且支持电脑硬件压缩,是一款不可多得的优秀软件 优点 ∙Windows, Linux, Mac 三平台支持 ∙开源、免费、无广告 ∙支…

SSM2

DataSource mybatis与Spring整合 事务加载业务层上面 开启事务驱动 上面都是声明式开启事务 图书管理系统 命名规范: java命名规范:驼峰命名法类:大驼峰变量,属性名.方法名:小驼峰 常量使用下划线分割:全大写,单词与单词之间下划线分割数据库命名规范:常用命名规范:下划线…

Python将原始数据集和标注文件进行数据增强(随机仿射变换),并生成随机仿射变换的数据集和标注文件

Python将原始数据集和标注文件进行数据增强(随机仿射变换),并生成随机仿射变换的数据集和标注文件 前言前提条件相关介绍实验环境生成随机仿射变换的数据集和标注文件代码实现输出结果 前言 由于本人水平有限,难免出现错漏&#x…

基于单片机K型热电偶温度采集报警系统

**单片机设计介绍, 基于单片机K型热电偶温度采集报警系统 文章目录 一 概要简介系统特点系统组成工作原理应用领域 二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 # 基于单片机K型热电偶温度采集报警系统介绍 简介 该系统是基于单片…

Unity--互动组件(Scrollbar)||Unity--互动组件(DropDown )

此组件中的,交互,过渡,导航与文章(Unity--互动组件(Button))中的介绍如同; handle rect:(父节点矩形) 用于控件的滑动“句柄”部分的图形&#xf…

Harmony Ble 蓝牙App (一)扫描

Harmony Ble 蓝牙App (一)扫描 前言正文一、创建工程二、工程配置① 权限配置② Debug配置③ UI配置 三、扫描① 扫描接口② 扫描类 四、业务处理① Slice的生命周期② 蓝牙开关和动态权限请求 五、扫描设备六、显示设备① 自定义蓝牙类② 提供者③ 显示…

【机器学习】037_暂退法

一、实现原理 具有输入噪音的训练,等价于Tikhonov正则化 核心方法:在前向传播的过程中,计算每一内部层的同时注入噪声 从作用上来看,表面上来说是在训练过程中丢弃一些神经元 假设x是某一层神经网络层的输出,是下一…