Android Termux安装MySQL数据库 | 公网安全远程连接【cpolar内网穿透】

news2024/11/19 6:41:56

文章目录

  • 前言
  • 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://无需复制

image-20230511133600049

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/543220.html

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

相关文章

【数据结构与算法】常见排序算法

文章目录 概述1、冒泡排序(Bubble Sort)1.1 步骤1.2 动图演示1.3 java代码实现 2、选择排序(Selection Sort)2.1 步骤2.2 动图演示2.3 java代码实现 3、插入排序(Insertion Sort)3.1 步骤3.2 动图演示3.3 j…

测试-用例篇

软件测试的生命周期 需求分析 - 测试计划 - 测试设计、测试开发 - 测试执行 - 测试评估 测试用例要素 测试环境、操作步骤、测试数据、预期结果 测试用例的要素没有执行结果。 测试用例要素不需要执行结果,因为执行结果需要执行完测试用例才会知道,没…

代码随想录算法训练营day45 | 70. 爬楼梯 (进阶),322. 零钱兑换,279.完全平方数

代码随想录算法训练营day45 | 70. 爬楼梯 (进阶),322. 零钱兑换,279.完全平方数 70. 爬楼梯 (进阶)解法一:动态规划 322. 零钱兑换解法一:动态规划 279.完全平方数解法一&#xff1…

秒懂算法 | 共识算法之Raft算法模拟数

01、Leader选举 存在A、B、C三个成员组成的Raft集群,刚启动时,每个成员都处于Follower状态,其中,成员A心跳超时为110ms,成员B心跳超时为150ms,成员C心跳超时为130ms,其他相关信息如图1所示。 ■…

2024王道数据结构考研丨第三章:栈和队列

2024王道数据结构考研笔记专栏将持续更新,欢迎 点此 收藏,共同交流学习… 文章目录 第三章:栈和队列3.1栈(stack)3.1.1栈的基本概念3.1.2 栈的顺序存储3.1.3栈的链式存储 3.2队列(Queue)3.2.1队…

【点云抽稀】一种基于均匀分布随机数的点云抽稀算法

文章目录 1. 背景2. 原理3. 实现3.1 定义Utils类3.2 加入预定义宏,确定层级3.3 函数实现 1. 背景 在大数据点云的存储中,常常要进行空间分区,一般的策略是构建四叉树或者八叉树。在构建树的过程中,一个不可避免的点就是点云的快速…

Text, Shapes, Colors 的使用

1. Text 的使用 // 多行文本 // Hello, World! This is the Swiftful Thinking Bootcamp. I am really enjoying this course and learning alot.// .lowercased() 文字小写 .uppercased() 文字大写 capitalized: 以单词形式显示 Text("Hello, World!".capitalized)…

test123

import matplotlib.pyplot as plt import pandas as pd # 从Power BI中获取输入数据 data pd.DataFrame({ Country: [USA, Canada, UK, Germany, France], Population: [328, 38, 66, 83, 67] }) # 使用Matplotlib绘制图表 plt.bar(data[Country], data[Population]…

Sentinel的另外三种流控模式(附代码详细介绍)

前言:大家好,我是小威,24届毕业生,在一家满意的公司实习。本篇文章将详细介绍Sentinel的其他三种流控模式,后续文章将详细介绍Sentinel的其他知识。 如果文章有什么需要改进的地方还请大佬不吝赐教👏&#…

轻量应用服务器如何选择之阿里云和腾讯云PK哪个好?

阿里云和腾讯云都有轻量应用服务器,轻量服务器是一种轻量级开箱即用的云服务器,适合小型网站、博客或测试等单机应用,那么问题来了,轻量应用服务器到底是阿里云好还是腾讯云好?阿腾云来详细对比下阿里云轻量应用服务器…

find命令的结果顺序

文章目录 1. 目的2. 准备: 克隆 doxygen 源码3. ubuntu22.04 结果4. ubuntu16.04 结果5. git bash 结果6. 三路比较7. 保持一样的结果: 用自然排序8. References 1. 目的 在研读 doxygen 源码时, 在不同电脑、不同操作系统上使用了 find 命令…

vue2中provide/inject的使用

一般来说,组件之间有以下几种关系: A-B、A-C、B-D、B-E、C-F都是父子关系,B-C、D-E-F是兄弟关系,A-D、A-E、A-F是祖先与孙子关系。 vue2中provide/inject这对选项需要一起使用,以允许一个祖先组件向其所有子孙后代注…

私有化部署即时通讯工具能为企业提升工作沟通效率吗?

在疫情的影响下,越来越多的企业开始采用私有化部署的方式部署即时通讯工具,以提升工作沟通效率。私有化部署的即时通讯工具,能够为企业提供完善的人员管理、安全保障、灵活便捷等优势,帮助企业更好地管理人员、团队协作以及工作沟…

CAMx-Python融合技术与大气污染来源解析方法

详情点击链接:CAMx-Python融合技术应用与大气污染来源解析方法 CAMx模型是一个基于大气化学,针对臭氧、颗粒物和雾霾天气过程的大气污染物计算模型。 1、CAMx模式的区域空气质量模拟配置技术; 2、SMOKE模型的CAMx模式大气排放清单输入准备&…

Kubernetes 二进制部署高可用集群 失败 看报错

概述 openssl证书有问题导致失败,未能解决openssl如何创建私钥,可参考ansible 在私有局域网内完成Kubernetes二进制高可用集群的部署 ETCD Openssl > ca 证书 Haproxy Keepalived Kubernetes 主机规划 序号名字功能VMNET 1备注 1备注 2备注 3 备注…

拉线位移传感器可以用来做的工作

拉线位移传感器可以用来做的工作 拉线位移传感器,是做什么的呢?是测位移的一种传感器,它的使用方式是用拉线测量,所以我们又叫它拉线位移传感器或者拉绳位移传感器。 拉绳位移传感器的应用非常广泛,一般只要精度要求不…

Docker issue failed to solve: rpc error: code = unknown desc

完整错误:failed to solve: rpc error: code Unknown desc failed to solve with frontend dockerfile.v0: failed to create LLB definition: unexpected status code [manifests 8.0-alpine-v3.14-swoole]: 403 Forbidden 解决方案一 重启DockerDesktop或重新启…

JavaScript全解析-继承

继承 ●要知道什么是继承 ●要知道继承的方式有哪些 ●每种的继承方式是如何实现的 什么是继承 ●继承关系出现在构造函数和构造函数之间 ●当构造函数A 的实例使用了 构造函数B 的属性和方法 ●我们就说 构造函数A 继承自 构造函数B ○管 构造函数A 叫做子类 ○管 构造函数B 叫…

MATLAB算法实战应用案例精讲-【数模应用】生存曲线(补充篇)

目录 前言 几个相关概念 生存概率与死亡概率 生存率 生存曲线 事件、生存时间 中位生存时间 生存率的比较 生存数据 风险集 如何读懂KM曲线 应用案例 新药对患者总生存时间的影响-KM曲线 软件操作及结果解读 应用GraphPad Prism制作生存曲线 SPSS绘制生存曲线图 …

gRPC-go参数功能介绍1->WithBlock参数介绍

在gRPC-go框架中,当客户端使用 Dial() 方法连接到gRPC服务器时,可以使用 WithBlock() 选项来阻塞客户端,直到与服务器建立连接成功。 通常情况下,当客户端调用 Dial() 方法时,该方法会立即返回,并在后台异…