【数据库系列】本地映射云服务器Mysql的方法

SSH 隧道(最安全,推荐)

这种方法通过在本地和服务器之间建立一个加密的 SSH 通道来传输 MySQL 数据,不需要开放 MySQL 的 3306 端口,最安全。

1. 建立 SSH 隧道

在本地终端执行命令:

Windows (PowerShell):

powershell 复制代码
ssh -N -L 13306:127.0.0.1:3306 ubuntu@你的服务器IP

macOS/Linux:

bash 复制代码
ssh -N -L 13306:127.0.0.1:3306 ubuntu@你的服务器IP

参数说明:

  • -N:不执行远程命令,只做端口转发
  • -L 13306:127.0.0.1:3306:将本地的 13306 端口转发到服务器的 3306 端口
  • ubuntu@你的服务器IP:服务器的 SSH 登录用户和 IP

执行后,会提示输入登陆用户的密码,输入完成后终端会卡住不动(这是正常现象,表示隧道正在运行 ),不要关闭这个窗口。

2. 本地连接 MySQL

Navicat/DBeaver/DataGrip 配置:

配置项 值
主机 127.0.0.1 或 localhost
端口 13306
用户名 MySQL 用户名(如 root)
密码 MySQL 密码

3. 后台运行隧道(可选)

如果不想一直开着终端窗口(关闭弹出窗口无影响):

bash 复制代码
# 添加 -f 参数,后台运行
ssh -f -N -L 13306:127.0.0.1:3306 ubuntu@你的服务器IP

4. 自动重连脚本(PowerShell)

  • 脚本名称:ssh-tunnel.ps1

    powershell 复制代码
    while ($true) {
        ssh -N -L 13306:127.0.0.1:3306 ubuntu@你的服务器IP
        Write-Host "隧道断开,5秒后重连..." -ForegroundColor Yellow
        Start-Sleep -Seconds 5
    }
  • 设置为开机自启动的计划任务,之后每次登录 Windows,它都会自动拉起隧道。SSH 断了也会 5 秒后重连。

    bash 复制代码
    schtasks /Create /TN "mysql-ssh-tunnel" /SC ONLOGON /TR "powershell.exe -ExecutionPolicy Bypass -File D:\你的真实脚本路径\ssh-tunnel.ps1" /F
  • 重点! 此时脚本每次启动还是需要手动输入服务器登录密码的,下面设置免密登录!

    • 1️⃣ 在本地生成 SSH 密钥对(如果还没有)

      bash 复制代码
      # 在 PowerShell 中执行
      ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
      # 一路按回车,使用默认路径和空密码
    • 2️⃣ 将公钥复制到服务器

      bash 复制代码
      # 手动复制(PowerShell),需要输入一次服务器登录密码
      type $env:USERPROFILE\.ssh\id_rsa.pub | ssh ubuntu@你的服务器IP"cat >> ~/.ssh/authorized_keys"
    • 3️⃣ 重启定时任务脚本即可不输入密码


感谢关注【遇事不決洛必達】!欢迎点赞收藏和交流指正,我会持续分享我的学习经验和心得。

相关推荐
麦壳饼14 小时前
架构深度解析:SonnetDB 的写入与查询路径
数据库·sonnetdb
啦啦啦啦啦zzzz14 小时前
一致性哈希
服务器·算法·哈希算法·c++20·分布式存储
倔强的石头10614 小时前
【Linux指南】动静态库系列(十二):库工程发布与错误排查:从能跑到可维护
linux·运维·服务器
福兮说14 小时前
IP 地址转整数的七个坑:192.168.1.1 算出负数、127.1 也是合法地址、存进 INT 直接溢出
javascript·网络·网络协议·tcp/ip·mysql·golang
gudufy14 小时前
ASP.NET Core 多租户如何动态创建数据库?数据库初始化怎么做?
数据库·blazor·admin
掉进电商坑三年没爬出来的东叔14 小时前
云服务器搭建个人网站实战:从零到公网访问,含域名HTTPS
运维·服务器·https
IT大白鼠14 小时前
彭大帅的AI运维助手跨出 Linux:全面接管 Windows 服务器
运维·服务器·人工智能
reasonsummer14 小时前
【办公类-131-05】20261007中2班周计划制作(原资料Word单元格不统一 失败)
运维·服务器
蚰蜒螟15 小时前
一次挂载的完整旅程:Linux 内核 VFS 到 ext4 的调用链剖析
linux·运维·服务器
害人终害己15 小时前
Redis 日志:AUTH 认证信息
运维·服务器