MySQL 用 FRP 穿透
MySQL 不是 HTTP 服务,要选 TCP 隧道,把本机 3306(或你的端口)转到节点 上的公网端口。这只适合临时远程管理或开发机调试。不要把生产数据库端口 长期暴露在公网。
Free 套餐包含 TCP:1 条隧道、1 Mbps、每 30 天 5 GiB。大库 dump / 同步会很快 用尽流量。
步骤
1. 让 MySQL 只听本机
frpc 跑在数据库同一台机器上时,MySQL 应绑定 127.0.0.1,由 frpc 去连 本地端口。不要为了穿透把 bind-address = 0.0.0.0 对全网打开。
bash
mysqladmin ping -h 127.0.0.1 -P 33062. 创建 TCP 隧道
控制台 → 隧道 → 创建隧道,协议选 TCP,连接时本地主机 127.0.0.1、端口 3306。下载 TOML:
bash
frpc -c nicefrp-<tunnel-id>.toml控制台会给出 节点主机:远程端口。客户端这样连:
bash
mysql -h <节点主机> -P <远程端口> -u <用户> -pGUI(DBeaver、TablePlus、Navicat)把 Host / Port 填成同一对即可。
3. 账号不要用 root 对公网
单独建一个权限最小的用户,强密码,只授权需要的库。用完即停隧道。
更稳妥的做法
远程管理生产库,优先 SSH 再转 3306(本机 ssh -L 3306:127.0.0.1:3306), 或只把 SSH 做 TCP 穿透,而不是直接暴露 MySQL。SSH 同样走 TCP 隧道,但多一层 密钥认证。
不要做
- 把未改默认密码的 MySQL 打到公网。
- 用 UDP 隧道(MySQL 是 TCP;UDP 仅付费且受风控)。
- 把穿透当成「免费云数据库」或开放代理。用途须符合 可接受使用政策。
网站(WordPress / Typecho)应走 HTTP 隧道访问 PHP,不要把 3306 暴露给访客。 见 WordPress 与 Web 穿透。