前言
在这个数字化飞速发展的时代,我们的手机早已不再局限于通话、短信或社交娱乐的范畴了。事实上,智能手机的强大性能已经足以支持我们完成许多复杂的任务,比如编写代码、运行脚本甚至是搭建小型服务器!想象一下,在你口袋里的那台Android设备上安装一个强大的数据库系统,并通过公网实现远程访问——这听起来是不是很酷呢?
今天,我将带你一起探索如何把你的Android手机变成一台功能完备的Linux服务器。我们将使用Termux这个神奇的应用程序来安装和配置MariaDB数据库,并借助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。
相信你现在应该已经掌握了将Android手机转变为强大Linux服务器的方法了吧?无论是提升工作效率还是解决突发问题,这样的技能都将为你带来极大的便利。更重要的是,在这个过程中你也体验到了开源技术的魅力和无限可能。如果你对数据安全有较高要求的话,不妨尝试一下MariaDB吧!它不仅性能出色、功能全面,而且完全免费且开放源代码。