安卓Termux系统安装MariaDB结合内网穿透实现公网连接本地数据库

文章目录

  • 前言
  • 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

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

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

相关文章

SSM框架学习——Spring事务管理

Spring事务管理 概念 事务(Transaction)是访问并可能操作各种数据项的一个数据库操作序列,这些操作要么全部执行,要么都不执行,是一个不可分割的工作单元。 事务有如下特性: 原子性隔离性一致性持久性 …

116. 飞行员兄弟(递推+暴力)太难了不要求

输入样例&#xff1a; --- ---- ---- ---输出样例&#xff1a; 6 1 1 1 3 1 4 4 1 4 3 4 4 代码&#xff1a; #include<algorithm> #include<iostream> #include<cstring> #include<queue> #include<cmath> #define x first #define y second…

往word表格插入图片,表格大小如何不变形?

在word中进行大量图片排版时&#xff0c;往往会用到表格。然而在往word表格插入图片的过程中&#xff0c;表格往往会随图片大小自适应变化&#xff0c;如何保证图片自适应表格大小&#xff08;即图片按照所给定的表格大小自动缩放&#xff09;&#xff0c;解决方法如下&#xf…

小红书运营快捷回复工具

小红书作为一个热门的社交电商平台&#xff0c;吸引了众多品牌和个人用户进行运营和互动。而很多做小红书运营的姐妹&#xff0c;经常会有回评论懒得打字的困扰&#xff0c;为了提高回复评论和私信的效率&#xff0c;本文给大家推荐一款快捷回复工具&#xff0c;手机电脑都能用…

【Python使用】嘿马头条完整开发md笔记第3篇:数据库,1 新增【附代码文档】

嘿马头条项目从到完整开发笔记总结完整教程&#xff08;附代码资料&#xff09;主要内容讲述&#xff1a;课程简介&#xff0c;ToutiaoWeb虚拟机使用说明1 产品介绍,2 原型图与UI图,3 技术架构,4 开发,1 需求,2 注意事项。数据库&#xff0c;理解ORM1 简介,2 安装,3 数据库连接…

电商新手选品易犯6大通病,85%的人都踩过雷!

电商选品是一个复杂而关键的过程&#xff0c;需要综合考虑多种因素&#xff0c;尤其对于刚刚涉猎电商行业的新手来更有难度&#xff0c;许多电商新手在选品过程中都会犯一些通病&#xff0c;以下是一些常见的电商选品通病以及调整建议&#xff0c;希望对大家有所帮助&#xff1…

《第一行代码 Android 第三版》 天气预报APP SunnyWeather——交作业

跟着书本手敲一遍kotlin项目SunnyWeather,MVVM架构&#xff1a; 没啥难度&#xff0c;就是熟悉kotlin... github链接&#xff1a;SunnyWeather/app at master xda1212/SunnyWeather GitHub

Vivado Lab Edition

Vivado Lab Edition 是完整版 Vivado Design Suite 的独立安装版本 &#xff0c; 包含在生成比特流后对赛灵思 FPGA 进行编程和 调试所需的所有功能。通常适用于在如下实验室环境内进行编程和调试&#xff1a; 实验室环境中的机器所含磁盘空间、内存和连 接资源较少。Vivad…

【环境搭建】(四)ubuntu22.04系统安装Opencv4.8.0+Opencv-contrib4.8.0

一个愿意伫立在巨人肩膀上的农民...... 一、安装下载所需工具 1.打开终端&#xff0c;输入以下命令来更新软件源&#xff1a; sudo apt-get update 2.安装wget&#xff1a; sudo apt-get install wget 3.下载opencv和opencv-contrib包&#xff1a; wget -O opencv-4.8.0.…

备忘录软件哪款可以加密?备忘录app怎么加密?

在快节奏的现代生活中&#xff0c;备忘录软件已成为我们不可或缺的助手。它不仅能方便我们随时记录任务事项&#xff0c;捕捉生活中的灵感&#xff0c;还便于我们随时修改和查看记录内容&#xff0c;实用性极高。然而&#xff0c;随着记录内容的增多&#xff0c;数据安全性问题…

【自动化测试】 环境部署和元素定位

写在前面 勤奋跟吃苦不一样&#xff0c;假如你对工作&#xff0c;生活不满意。就要跳出圈子&#xff0c;接触其它人或事物&#xff0c;提升自己。从而换个工作&#xff0c;或者换了心态看待问题。而不是&#xff0c;吃苦的加班逼着自己去内卷&#xff0c;卷来卷去觉得吃苦受累&…

Leetcode 309. 买卖股票的最佳时机含冷冻期

心路历程&#xff1a; 这道题的建模和股票问题一样&#xff0c;只不过需要在状态上增加一个处于冻结期&#xff1b; 状态&#xff1a;1第i天&#xff1b;2第i天持有股票的状态&#xff08;持有&#xff0c;不持有被冻结&#xff0c;不持有未被冻结&#xff09; 动作&#xff1…

基于SpringBoot餐饮美食分享平台的设计与实现+毕业论文+毕业答辩PPT+搭建资料

系列文章目录 本系统的用户可分为用户和管理员二个用户角色组成。管理员可以管理系统内所有功能&#xff0c;主要有系统首页、信息展示、用户信息管理、菜谱信息管理、笔记信息管理、美食信息管理、修改密码、退出登录管理、系统管理等功能&#xff1b;用户登录系统可以对个人…

实体机双系统安装

实体机双系统安装 第一步&#xff1a;下载openKylin镜像 前往官网下载x86_64的镜像&#xff08;https://www.openkylin.top/downloads/628-cn.html&#xff09; tips&#xff1a;下载完镜像文件后&#xff0c;请先检查文件MD5值是否和官网上的一致&#xff0c;如果不一致请重…

如何给图片添加水印?

如何给图片添加水印&#xff1f;在现代职场中&#xff0c;图片的使用已经成为了日常工作的一部分&#xff0c;而给图片添加水印也逐渐成为了一种常见的需求。无论是在设计、广告、营销还是其他领域&#xff0c;给工作中的图片加水印都有其重要性和实用性。工作中给图片加水印的…

系统分析师-软件的知识产权保护与标准化

文章目录 前言一、知识产权保护范围与对象二、保护期限三、知识产权人确定四、侵权判定五、标准化标准的分类标准的编号 前言 知识产权也称为“智力成果权”、“智慧财产权”&#xff0c;它是人类通过创造性的智力劳动而获得的一项权利。根据我国民法通则的规定&#xff0c;知识…

兑换码生成算法

兑换码生成算法 兑换码生成算法1.兑换码的需求2.算法分析2.重兑校验算法3.防刷校验算法 3.算法实现 兑换码生成算法 兑换码生成通常涉及在特定场景下为用户提供特定产品或服务的权益或礼品&#xff0c;典型的应用场景包括优惠券、礼品卡、会员权益等。 1.兑换码的需求 要求如…

IPv4地址

IP v4 由32位二进制构成、可以用点分十进制表示。 例如&#xff1a;192.168.1.1 11000000101010000000000100000001 由网络位和主机位组成。为了区分网络位和主机位&#xff0c;需要用子网掩码&#xff0c;子网掩码也是由32位二进制构成&#xff0c;连续的1对应网络位&#…

黑马鸿蒙笔记 4

目录 17.ArkUI-状态管理-Observed和ObjectLink 18.ArkUI-页面路由 19.ArkUI-属性动画和显式动画 20.ArkUI-组件转场动画 17.ArkUI-状态管理-Observed和ObjectLink 这个task[],找到它的定义 在数据类型上加Observed 要把这一段单独抽取出来&#xff0c;才可以加ObjectLink&a…

【数据结构】——二叉树堆的实现

大佬们点点关注&#xff0c;点点赞&#xff1f;&#xff01; 前言 在上篇博客中我们已经介绍了树和二叉树的相关概念&#xff0c;相信大家都已经清楚了树和二叉树的基本思想&#xff0c;下面我们就来着重看看二叉树堆的实现。 在看堆的实现&#xff0c;我们先看看二叉树的顺…