
🔥承渊政道: 个人主页
❄️个人专栏: 《C语言基础语法知识》 《数据结构与算法》 《C++知识内容》 《Linux系统知识》 《算法刷题指南》 《测评文章活动推广》 《大模型语言路线学习》 《MySQL数据库学习》 《Python知识内容》 《cpolar知识学习》
✨逆境不吐心中苦,顺境不忘来时路!✨ 🎬 博主简介:

不少人的测试库并不部署在云服务器上.它可能跑在家里的Mac、小型办公主机,或者一台长期放在工作室里的电脑.服务本身没什么问题,人在现场时用 Navicat 连一下就行;换成云电脑后,第一件麻烦事却变成了:这台机器到底该用什么地址访问?公网 IP、DDNS、端口转发当然是常见办法,但家宽不一定具备条件,路由器规则也不一定一直有效.网络换过、主路由重启过,原本记下来的地址就可能失效.星空组网提供的是另一条路:让服务端和云电脑加入同一张虚拟网络,用虚拟IP建立连接.MySQL还是MySQL,客户端也仍然是原来的客户端;变化的只是两端之间不必再依赖公网地址.下面记录一次实际的端口连通测试.测试只说明云电脑能够连到目标MySQL的TCP 3306端口,并不等同于已经完成数据库登录或读写操作.


目录
- 一、异地访问数据库,最先卡住的往往是地址
- [二、实测:云电脑访问MacBook Pro的MySQL3306端口](#二、实测:云电脑访问MacBook Pro的MySQL3306端口)
- 三、这种连接方式不只适用于MySQL
- 四、连接异常时,先分清是哪一层出了问题
- 五、小结:先让两端能找到彼此
一、异地访问数据库,最先卡住的往往是地址
1.1服务在内网里,云电脑却在另一张网络
测试库、个人开发环境和小型办公服务,经常部署在内网设备上.它们可能在软路由后面,也可能挂在普通宽带下.设备能正常运行,不代表云电脑知道如何找到它.
以前处理这类问题,通常要先确认公网地址,再处理端口映射、动态域名和路由器规则.对偶尔才需要维护一次的环境来说,准备这些事情往往比打开数据库客户端还花时间.

服务端和云电脑安装星空组网客户端后,即可加入同一虚拟网络.
1.2虚拟IP让两端有一个固定的访问入口
星空组网客户端上线后,会为设备分配虚拟IP.服务端和云电脑加入同一网络,云电脑就可以使用服务端的虚拟IP作为目标地址.
应用层不需要因此换协议.MySQL仍使用3306端口;客户端仍然需要正确的账号、密码和数据库授权.星空组网解决的是到达服务端的路径,不会替代数据库本身.

云电脑和MacBook Pro在线后,后台会显示各自的虚拟IP.
二、实测:云电脑访问MacBook Pro的MySQL3306端口
2.1先确认网络路径能不能走通
这次测试的访问端是云电脑,虚拟IP为192.168.188.2;目标端是MacBook Pro,虚拟IP为192.168.188.4.MySQL服务运行在MacBook Pro上,并开放TCP3306端口.
在云电脑的 PowerShell 中执行下面的命令:
powershell
Test-NetConnection 192.168.188.4 -Port 3306
结果里,源地址是192.168.188.2,网卡显示为StarVPN,TcpTestSucceeded返回True.这表示云电脑已经通过星空组网到达MacBook Pro的MySQL 3306端口.

在云电脑 PowerShell 中对目标虚拟 IP 的 MySQL 端口发起测试.

TcpTestSucceeded : True,连接通过 StarVPN 网卡到达目标的 3306 端口.
2.2端口连通后,再交给数据库客户端
Test-NetConnection 成功,只能说明 TCP 连接能到达目标端口.到这一步,可以再用 Navicat、DBeaver、MySQL Workbench 或命令行客户端,以 192.168.188.4 和 3306 作为连接参数继续操作.
如果客户端此时仍然报错,问题通常已经不在"云电脑能否找到 MacBook Pro"这条路径上,而要回到 MySQL 的监听地址、账号来源限制、密码和数据库权限.把网络连通和数据库认证分开看,排查会轻松很多.

端口验证完成后,数据库客户端可使用虚拟 IP 和 3306 端口建立连接.
三、这种连接方式不只适用于MySQL
MySQL 是一个容易验证的例子.只要服务端与访问端都能接入星空组网,原来需要在同一局域网里使用的服务,也可以通过虚拟 IP 被异地设备访问.
| 服务端设备 | 常见服务 | 访问端仍使用的工具 |
|---|---|---|
| 开发主机 | MySQL、PostgreSQL、Redis | 数据库客户端、命令行工具 |
| 家庭小主机 | Home Assistant、下载服务 | 浏览器 |
| OpenWrt 软路由 | LuCI、SSH | 浏览器、SSH 客户端 |
| NAS | SMB 文件共享、管理页面 | 文件管理器、浏览器 |
这类场景的共同点是,服务本身不用迁移.数据库还是原来的数据库,软路由还是原来的软路由,NAS 共享也按原来的方式使用.星空组网做的是先让异地设备能找到它们.

MacBook Pro 接入星空组网后,可作为异地服务的运行端.
四、连接异常时,先分清是哪一层出了问题
遇到客户端提示或连接报错时,可先查看星空组网官方错误码文档.实际排查不必一上来就重装客户端,也别急着改 MySQL;先判断问题是在组网、端口,还是数据库登录这一层.
| 现象 | 优先检查 | 处理方向 |
|---|---|---|
| 客户端未连接,或成员列表没有目标设备 | 两端是否登录同一网络、设备是否在线 | 刷新客户端,确认设备名称和完整虚拟 IP |
| PowerShell 提示名称解析失败 | IP 是否少写了一段,是否误填成设备名称 | 从成员列表复制完整虚拟 IP 后重试 |
| Test-NetConnection 的 TCP 测试失败 | 目标设备在线状态、MySQL 是否监听 3306 | 先确认服务和本机防火墙,再检查组网状态 |
| TCP 已通,数据库客户端仍不能登录 | MySQL 账号、密码、来源限制和数据库权限 | 回到客户端连接参数与 MySQL 授权配置 |
按这个顺序查,能把"组网没有连上""端口没有到达"和"数据库拒绝登录"分开.前两类问题看设备状态、虚拟 IP 和端口;端口已经通了,再去看MySQL本身.
五、小结:先让两端能找到彼此
这次实测中,云电脑 192.168.188.2 通过 StarVPN 网卡,成功连接到 MacBook Pro 192.168.188.4 的 MySQL TCP 3306 端口.
对需要维护测试环境、临时查看数据或跨地点协作开发的人来说,虚拟IP提供了一个更稳定的入口.它不会代替MySQL的账号、权限和备份,但能先把服务端与访问端连起来.路径打通后,后面的数据库工具仍按平时的习惯使用即可.

🚀真正的勇者不是流泪的人,而是含泪奔跑的人!
敬请期待下一篇文章内容
每日心灵鸡汤: 最好的学习方法,是找到适合自己的节奏!
寻找最适合自己的方法,走最适合自己的路.不必照搬别人的作息与刷题套路,他人高效的经验未必适配你的基础;找到薄弱学科,定点攻克补齐漏洞;适合的笔记、复盘节奏才最有力量.不盲目追赶进度,重在吃透每一个知识点,允许自己慢一点,稳步夯实所学内容;守住自身节奏,拒绝无谓的攀比焦虑.坚持深耕下去,终会看见属于你的收获.
