Android Termux安装MySQL,并使用cpolar实现公网安全远程连接[内网穿透]
文章目录
- 前言
- 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
出现版本信息表示安装成功

启动数据库,使用 Linux 自带的 nohup 命令将其放到后台启动
nohup mysqld &
启动后可以看到进程PID号

如果想要关闭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官网注册的邮箱账号即可登陆

3. 创建安全隧道映射mysql
登录cpolar web UI管理界面后,我们点击左侧仪表盘的隧道管理——创建隧道,由于mysql连接默认的是3306端口,因此我们要来创建一条tcp隧道,指向3306端口:
- 隧道名称:可自定义,注意不要重复
- 协议:tcp
- 本地地址:3306 (mysql 默认端口)
- 域名类型:选择随机域名
- 地区:选择China VIP
点击创建

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

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

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

我们登录cpolar官网后台,点击左侧仪表盘的预留,找到保留的TCP地址:
- 地区:这里选择China VIP,你也可以选择其他地区
- 描述:可自定义备注
点击右侧的保留

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

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

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

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

将远程MySQL的公网地址配置成固定的了后,我们来测试一下使用固定公网地址连接,同样也是可以正常远程连接到termux MySQL。
现在只要保持这条隧道为在线状态,我们在外可以通过这个公网地址来远程连接Termux MySQL。

转载自cpolar极点云文章:Android Termux安装MySQL,内网穿透实现公网远程访问
相关文章:
Android Termux安装MySQL,并使用cpolar实现公网安全远程连接[内网穿透]
文章目录 前言1.安装MariaDB2.安装cpolar内网穿透工具3. 创建安全隧道映射mysql4. 公网远程连接5. 固定远程连接地址 前言 Android作为移动设备,尽管最初并非设计为服务器,但是随着技术的进步我们可以将Android配置为生产力工具,变成一个随身…...
如何有效管理公司分配给员工的个人微信,实现聚合聊天管理?
现在很多公司会在员工入职后,会把企业的微信账号分配给员工,让他们用微信与客户沟通业务。但这个过程有很多风险,比如不能实时掌握员工与客户的沟通情况,可能出现员工私自添加或删除重要客户,有的员工还会离职时带走公…...
【HTML5】语义化标签记录
前言 防止一个页面中全部都是div,或者ul li,在html5推出了很多语义化标签 提示:以下是本篇文章正文内容,下面案例可供参考 常用语义化案例 一般我用的多的是header,main,footer 这些标签不难理解&#x…...
数据结构———— 堆
(一)基础补充 满二叉树是每一层节点都放满的二叉树。 完全二叉树是只有最后一层节点右边不放满的二叉树。 满二叉树(Perfect Binary Tree) 如果二叉树中除了叶子结点,每个结点的度都为 2,则此二叉树称为满二叉树。另一种说法:一个深度为k(>=-1)且有2^(k+1) - 1个结…...
如何选择专业的游戏开发公司?
如果你想找一家专业的游戏开发公司,你可以采取以下步骤来寻找合适的合作伙伴: 定义项目需求:首先,明确你的游戏开发项目的需求和目标。确定你需要什么类型的游戏(移动游戏、PC游戏、主机游戏等)、游戏类型…...
Unity基础课程之物理引擎3-碰撞检测案例-吃金币并加分显在UI文本框上
业务逻辑💼: 这个脚本的主要功能是用于显示和更新主角的得分。在游戏中,玩家需要吃到金币来增加分数,而这个脚本就是负责将得分的变化实时显示在屏幕上的。 程序逻辑💻: 1️⃣首先,在脚本的开始…...
DAPLink V2 STLink V2 JLink V9.7 串口四合一仿真调试下载器
作者 风陵: github:https://github.com/ForlingTec CSDN:https://blog.csdn.net/weixin_42518229 化作尘: https://blog.csdn.net/mbs520 一、产品介绍 该产品是一款基于USB2.0接口支持多个公司及多种内核的仿真器/编程器,板载了USB H…...
使用PyTorch处理多维特征输入的完美指南
💗💗💗欢迎来到我的博客,你将找到有关如何使用技术解决问题的文章,也会找到某个技术的学习路线。无论你是何种职业,我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章,也欢…...
萝卜刀玩具上架亚马逊CPC认证测试标准
含铅或含铅涂料儿童产品的要求 分阶段限制儿童产品所有部件的铅含量,要求在3年内将产品任何可接触部件的铅含量限制从不超过重量的600ppm(0.06%)降至不超过重量的100ppm(0.01%)。 铅含量限值(总铅含量占重…...
阶段六-Day03-MyBatis
一、框架介绍 1. 框架的作用 将许多项目封装起来,形成了框架 2. 框架的优缺点 1. 优点 1.1 更好用 框架都是对Java原生内容进行的封装,对于企业级项目开发来说,使用框架比使用原生Java更好用,写起来更简单。 1.2 更强大 框架封装过程…...
探索RPA流程自动化在不同行业的应用案例
随着数字化的推进,企业建设了大量的业务系统,跨系统的业务流程越发复杂,业务孤岛、 流程孤岛、数据孤岛也随之出现,产生了大量需要人工执行的重复性系统操作流程。而使用RPA能将员工从大量的、重复的、高耗时的工作中解放出来&…...
解决gpedit.msc命令无法打开的问题
【win11家庭版】解决gpedit.msc命令无法打开的问题 本地组策略编辑器 echo offpushd "%~dp0"dir /b %systemroot%\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >gp.txtdir /b %systemroot%\servicing\Packages\…...
一大突破!清华大学研制出首颗忆阻器存算一体芯片
这几天清华大学又火出圈了。但这次并不是因为招生抢人和饭堂,而是清华大学的芯片研发团队研制出全球首颗全系统集成的存算一体芯片。这是我国、乃至全世界对半导体行业的又一重大突破。 这个芯片由清华大学集成电路学院教授吴华强副教授高滨团队基于存算一体计算范…...
JUC的线程池架构
🙈作者简介:练习时长两年半的Java up主 🙉个人主页:程序员老茶 🙊 ps:点赞👍是免费的,却可以让写博客的作者开心好久好久😎 📚系列专栏:Java全栈,…...
PostgreSQL limit 语法
PostgreSQL limit 语法 LIMIT 是 PostgreSQL 中用于限制查询结果数量的关键字。其语法如下: SELECT column1, column2, ... FROM table_name LIMIT number_of_rows;其中,SELECT 语句用于指定要查询的列和数据表,LIMIT 用于指定查询结果的行…...
CUDA C编程权威指南:2.1-CUDA编程模型
本文主要通过例子介绍了CUDA异构编程模型,需要说明的是Grid、Block和Thread都是逻辑结构,不是物理结构。实现例子代码参考文献[2],只需要把相应章节对应的CMakeLists.txt文件拷贝到CMake项目根目录下面即可运行。 1.Grid、Block和Thread间的…...
两条记录合并成一条记录
两条记录合并成一条记录 两条记录 val4,type_idlevel 和 val6,type_idtypeId 合并成一条记录 level4,typeId6 可以使用 条件聚合语句 CASE WHEN … 和 MAX 函数来实现。假设有以下 my_table 表: --------------------- | id | val | type_id | --------------…...
vue3 + typescript + vite + naive ui + tailwindcss + jsx 仿苹果桌面系统
基于 vue3.x typescript vite naive ui tailwindcss jsx vue-router pinia,项目使用 tsx 作为模版输出,全程没有使用vue提供的SFC, 仿macos桌面前端项目,开源免费模版,希望减少工作量和学习新技术,希…...
揭秘,用软件一秒识别纸质表格数字,找到你想要的一串数字
要将纸质表格的数字快速用软件识别并找出特定的一串数字,以下是三种常用的方案: 方案一:使用OCR软件识别和搜索功能 1. 扫描纸质表格并保存为图像或PDF格式。 2. 使用OCR(光学字符识别)软件,如金鸣表格文字…...
解析图片文件格式
图片文件幻数 关于JPEG格式 二进制形式打开文件,文件开始字节为FF D8,文件结束两字节为FF D9 JPEG 文件有两种不同的元数据格式:JFIF 和 EXIF。 JFIF 以 ff d8 ff e0 开头,EXIF 以 ff d8 ff e1 开头。 代码示例 private static…...
stm32G473的flash模式是单bank还是双bank?
今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...
循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...
CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
YSYX学习记录(八)
C语言,练习0: 先创建一个文件夹,我用的是物理机: 安装build-essential 练习1: 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件,随机修改或删除一部分,之后…...
ESP32读取DHT11温湿度数据
芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...
数据链路层的主要功能是什么
数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...
使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台
🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...
关键领域软件测试的突围之路:如何破解安全与效率的平衡难题
在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件,这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下,实现高效测试与快速迭代?这一命题正考验着…...
使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度
文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...
uniapp 字符包含的相关方法
在uniapp中,如果你想检查一个字符串是否包含另一个子字符串,你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的,但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...
