如何实现无公网ip远程访问本地安卓Termux部署的MySQL数据库【内网穿透】

如何实现无公网ip远程访问本地安卓Termux部署的MySQL数据库【内网穿透】,第1张

前言

Android作为移动设备,尽管最初并非设计为服务器,但是随着技术的进步我们可以将Android配置为生产力工具,变成一个随身Linux。

MariaDB是MySQL关系数据库管理系统的一个复刻,由社区开发,有商业支持,旨在继续保持在 GNU GPL 下开源。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。

接下来我们通过简单几步 *** 作,在安卓手机termux上安装MariaDB(mysql) 数据库,并结合cpolar内网穿透,来实现公网环境下的远程连接访问。

1.安装MariaDB

Termux 官方也封装了 MariaDB,所以安装起来很方便:

pkg install mariadb

验证是否安装成功,查看一下版本信息

mysql --version

出现版本信息表示安装成功

如何实现无公网ip远程访问本地安卓Termux部署的MySQL数据库【内网穿透】,image-20230511105447233,第2张

启动数据库,使用 Linux 自带的

nohup

命令将其放到后台启动

nohup mysqld &

启动后可以看到进程PID号

如何实现无公网ip远程访问本地安卓Termux部署的MySQL数据库【内网穿透】,image-20230511111209798,第3张

如果想要关闭

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官网注册的邮箱账号即可登陆

如何实现无公网ip远程访问本地安卓Termux部署的MySQL数据库【内网穿透】,image-20230509155942139,第4张

3. 创建安全隧道映射mysql

登录cpolar web UI管理界面后,我们点击左侧仪表盘的隧道管理——创建隧道,由于mysql连接默认的是3306端口,因此我们要来创建一条tcp隧道,指向3306端口:

  • 隧道名称:可自定义,注意不要重复
  • 协议:tcp
  • 本地地址:3306 (mysql 默认端口)
  • 域名类型:选择随机域名
  • 地区:选择China VIP

点击

创建

如何实现无公网ip远程访问本地安卓Termux部署的MySQL数据库【内网穿透】,image-20230511133502882,第5张

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

如何实现无公网ip远程访问本地安卓Termux部署的MySQL数据库【内网穿透】,第6张

4. 公网远程连接

上面我们创建好公网地址后,接下来我们使用工具远程连接测试,本文使用比较火热的一款数据库连接工具软件

navicat

,打开工具界面,输入上面我们的公网地址和对应的端口,由于创建的时候没有设置密码,所以我们无需填写密码,点击测试连接,连接成功表示正常。

同样,其他连接工具也是同样的连接方法。

如何实现无公网ip远程访问本地安卓Termux部署的MySQL数据库【内网穿透】,image-20230511134615494,第7张

5. 固定远程连接地址

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

要建立一条稳定的TCP数据隧道,需要先到cpolar官网后台保留一个固定的TCP地址。

如何实现无公网ip远程访问本地安卓Termux部署的MySQL数据库【内网穿透】,20230519093033,第8张

我们登录cpolar官网后台,点击左侧仪表盘的预留,找到

保留的TCP地址

  • 地区:这里选择China VIP,你也可以选择其他地区
  • 描述:可自定义备注

点击右侧的

保留

如何实现无公网ip远程访问本地安卓Termux部署的MySQL数据库【内网穿透】,image-20230511153139329,第9张

在这些信息填入后,点击右侧的

保留

按钮,将cpolar官网后台的隧道固定下来。此时cpolar会生成一个隧道tcp端口

如何实现无公网ip远程访问本地安卓Termux部署的MySQL数据库【内网穿透】,image-20230511153205122,第10张

接着我们回到浏览器cpolar web ui管理界面,打开

隧道列表

,找到之前创建的随机临时TCP隧道,进入

编辑

页面:

如何实现无公网ip远程访问本地安卓Termux部署的MySQL数据库【内网穿透】,image-20230511153321327,第11张

端口类型选择

固定TCP端口

,然后将我们在cpolar官网获得的隧道端口粘贴进

预留的TCP地址

栏中,然后点击下方的

更新

按钮

如何实现无公网ip远程访问本地安卓Termux部署的MySQL数据库【内网穿透】,image-20230511153415936,第12张

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

如何实现无公网ip远程访问本地安卓Termux部署的MySQL数据库【内网穿透】,image-20230511153512015,第13张

将远程MySQL的公网地址配置成固定的了后,我们来测试一下使用固定公网地址连接,同样也是可以正常远程连接到termux MySQL。

现在只要保持这条隧道为在线状态,我们在外可以通过这个公网地址来远程连接Termux MySQL。

如何实现无公网ip远程访问本地安卓Termux部署的MySQL数据库【内网穿透】,image-20230511153921009,第14张

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/13518821.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024-03-09
下一篇 2024-03-13

发表评论

登录后才能评论

评论列表(0条)

保存