如何在Android Termux上安装MySQL并实现公网远程访问?

news2024/9/28 7:19:34

文章目录

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

转载自cpolar极点云文章:Android Termux安装MySQL,内网穿透实现公网远程访问

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

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

相关文章

Django 地址接口开发

应用 Mixin 混合类进行收货地址接口开发 python ../manage.py startapp address继承了mixins扩展类,进到里面可以稍微看下源码 该方法帮我们实现了获取验证及保存的功能 address/views from rest_framework.generics import GenericAPIView from rest_framewo…

北大提出RestGPT框架,通过RESTful API控制真实应用的Agent

©PaperWeekly 原创 作者 | 宋一帆 单位 | 北京大学计算语言学研究所博士生 研究方向 | 自然语言处理 论文题目: RestGPT: Connecting Large Language Models with Real-World RESTful APIs 论文链接: https://arxiv.org/abs/2306.06624 代码链接&a…

【哈希数组】【字符串 转化为 字符数组】Leetcode 383 赎金信

【哈希表】【字符串 转化为 字符数组】Leetcode 383 赎金信 解法1 【哈希数组】 String 转化为 字符数组char[ ] .toCharArray ⭐️String 转化为 字符数组char[ ] .toCharArray 解法1 【哈希数组】 String 转化为 字符数组char[ ] .toCharArray 时间复杂度O(N) 这个解决方案…

自学(黑客技术)方法——网络安全

如果你想自学网络安全,首先你必须了解什么是网络安全!,什么是黑客!! 1.无论网络、Web、移动、桌面、云等哪个领域,都有攻与防两面性,例如 Web 安全技术,既有 Web 渗透2.也有 Web 防…

CouchDB简单入门

CouchDB 1.curl命令 RESTful 新增:POST请求修改:PUT请求删除:DELETE请求查找:GET请求 查看数据库有哪些 curl -X GET http://admin:123456localhost:5984/_all_dbsadmin: 用户名 123456:改成自己密码 创建数据库 curl -X PU…

unity脚本_Mathf和Math c#

首先创建一个脚本 当我们要做一个值趋近于一个值变化时 可以用Mathf.Lerp(start,end,time);方法实现 比如物体跟随

Docker:创建主从复制的Redis集群

一、Redis集群 在实际项目里,一般不会简单地只在一台服务器上部署Redis服务器,因为单台Redis服务器不能满足高并发的压力,另外如果该服务器或Redis服务器失效,整个系统就可能崩溃。项目里一般会用主从复制的模式来提升性能&#x…

基于数字电路交通灯信号灯控制系统设计-单片机设计

**单片机设计介绍,1617基于数字电路交通灯信号灯控制系统设计(仿真电路,论文报告 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序文档 六、 文章目录 一 概要 交通灯控制系统在城市交通控制中发挥着重要的作用&#xf…

谷粒商城一

谷粒商城一 1. 项目介绍1.1 微服务架构图1.2 微服务划分图 2. 项目环境搭建2.1 虚拟机搭建环境2.2 Linux 安装 docker、配置镜像加速2.3 Docker 配置 MySQL、设置自启动2.3.1 安装 MySQL5.72.3.2 修改 mysql 配置文件 2.4 Docker 配置 Redis 并设置持久化2.5 安装 jdk Maven 镜…

接口自动化测试_L4

目录: 接口加密与解密 ​​​​​​​环境准备原理实战练习多套被测环境 ​​​​​​​多环境介绍多套被测环境切换的意义和价值实现目标实现方案-环境管理环境切换通过环境变量进行切换使用命令行进行切换多响应类型封装设计 ​​​​​​​​​​​​​​多协议…

解决LOGITECH 罗技驱动 MAC版出现的一些问题汇总!

安装前将之前的安装文件清理干净!!!!! 罗技驱动最新安装包下载 我的鼠标是G304 1. 驱动安装一直卡在99% 运行官方下载的安装程序,卡住后关掉窗口。 在终端中执行以下命令: sudo /Users/用户名…

HarmonyOS第一课运行Hello World

前言 俗话说,工欲善其事必先利其器。鸿蒙第一课,我们先从简单的Hello World运行说起。要先运行Hello World,那么我们必须搭建HarmonyOS的开发环境。 下载与安装DevEco Studio 在HarmonyOS应用开发学习之前,需要进行一些准备工作&a…

FoLR:Focus on Local Regions for Query-based Object Detection论文学习笔记

论文地址:https://arxiv.org/abs/2310.06470 自从DETR问询式检测器首次亮相以来,基于查询的方法在目标检测中引起了广泛关注。然而,这些方法面临着收敛速度慢和性能亚优等挑战。值得注意的是,在目标检测中,自注意力机制…

NanoPC-T4 RK3399:DTS之io-domain,FAN

前言: 之后所有改动均是基于rk3399-evb.dts修改以满足NanoPC-T4功能正常。 NanoPC-T4开发板上有一片散热风扇,本章将讲述使风扇正常工作起来的多种方法。 一:硬件分析 GPIO4_C6/PWM1:实际控制风扇引脚,GPIO与PWM复用 输入高电平1:FAN2pin电路导通,风扇转动 输入低电…

dc8靶机攻略

dc8 扫描 渗透 先访问主页探查 该主页的url看似存在sql注入 断点注入一下看看有没有报错 发现报错,存在sql注入 使用sqlmap 爆库 sqlmap -u http://10.4.7.151 -current-db爆表 sqlmap -u http://10.4.7.151/?nid2 --tables -D "d7db"发现user表 …

【Unity3D】Unity与Android交互

1 Unity 发布 apk 1.1 安装 Android Build Support 在 Unity Hub 中打开添加模块窗口,操作如下。 选择 Android Build Support 安装,如下(笔者这里已安装过)。 创建一个 Unity 项目,依次点击【File→Build Settings→…

Office技巧(持续更新)(Word、Excel、PPT、PowerPoint、连续引用、标题、模板、论文)

1. Word 1.1 标题设置为多级列表 选住一级标题,之后进行“定义新的多级列表” 1.2 图片和表的题注自动排序 正常插入题注后就可以了。如果一级标题是 “汉字序号”,那么需要对题注进行修改: 从原来的 图 { STYLEREF 1 \s }-{ SEQ 图 \* A…

3,4,6,9,?,18

3,4,6,9,?,18 逐步变大的递增数组 分析一: 3 6 -1 4 x 2 4 9 -1 6 x 2 6 ? -1 9 x 2 ? 13 9 18 -1 ? x 2 ? 13 分析二: 4 - 3 1 6 - 4 2 9 - 6 3 ?- 9 4 …

CPU眼里的C/C++: 1.3 汇编级单步调试函数执行过程

1. 目的 2. 基于 GDB 的汇编级单步调试 原始代码 #include <stdio.h>long test() {long a 1;a 2;return a; }int main() {int ret test();printf("test return %d\n", ret);return 0; }关键 gdb 命令 si 指令执行汇编级的单步调试info registers 读取寄…

黑豹程序员-架构师学习路线图-百科:API接口测试工具Postman

文章目录 1、为什么要使用Postman&#xff1f;2、什么是Postman&#xff1f; 1、为什么要使用Postman&#xff1f; 目前我们开发项目大都是前后端分离项目&#xff0c;前端采用h5cssjsvue基于nodejs&#xff0c;后端采用java、SpringBoot、SSM&#xff0c;大型项目采用SpringC…