创始人优惠 — 前 6 个月 50% 折扣。优惠码 FOUNDERS2026(结账自动应用)。截止日期 2027年8月1日。立即注册Skip to content

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 3306

2. 创建 TCP 隧道

控制台隧道创建隧道,协议选 TCP,连接时本地主机 127.0.0.1、端口 3306。下载 TOML:

bash
frpc -c nicefrp-<tunnel-id>.toml

控制台会给出 节点主机:远程端口。客户端这样连:

bash
mysql -h <节点主> -P <远程端> -u <> -p

GUI(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 暴露给访客。 见 WordPressWeb 穿透