You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows环境下通过SSH堡垒机远程连接MySQL服务器求助

解决Windows下通过SSH堡垒机+ODBC连接远程MySQL的方案

一、建立正确的SSH隧道(核心区别于官方文档的配置)

由于堡垒机与MySQL服务器为两台独立机器,需配置本地端口转发,通过堡垒机中转流量到MySQL服务器。以下提供两种常用工具的配置方法:

方法1:使用Windows自带OpenSSH(Windows 10/11默认预装)

打开PowerShell,执行命令:

ssh -L 33060:XX.XX.XX.01:3306 堡垒机用户名@XX.XX.XX.02

参数说明:

  • 33060:本地Windows机器上的空闲端口(可自定义,避免与本地MySQL默认3306端口冲突)
  • XX.XX.XX.01:3306:目标MySQL服务器的IP与端口
  • 堡垒机用户名@XX.XX.XX.02:SSH堡垒机的登录用户名与IP

执行后输入堡垒机登录密码(密钥登录需提前配置密钥),保持该PowerShell窗口处于打开状态,隧道即建立完成。

方法2:使用PuTTY图形化工具

  1. 打开PuTTY,在Session页面输入堡垒机IP XX.XX.XX.02,默认端口22
  2. 进入Connection > SSH > Tunnels:
    • 在Source port填入本地空闲端口(如33060)
    • 在Destination填入 XX.XX.XX.01:3306
    • 勾选Local与Auto,点击Add,列表将显示L33060 XX.XX.XX.01:3306
  3. 返回Session页面,可保存配置方便后续使用,点击Open登录堡垒机,保持窗口打开

二、配置ODBC数据源

  1. 打开WindowsODBC数据源管理器(需选择与ODBC驱动匹配的32/64位版本)
  2. 切换至用户DSN或系统DSN,点击添加,选择对应版本的MySQL ODBC驱动(如MySQL ODBC 8.0 Unicode Driver)
  3. 在驱动配置窗口填入以下信息:
    • TCP/IP Server:127.0.0.1(本地转发端口指向的地址)
    • Port:之前设置的本地端口(如33060)
    • User:MySQL服务器的登录用户名
    • Password:MySQL服务器的登录密码
    • Database:需连接的目标数据库名称(可选,可后续在应用中指定)
  4. 点击Test测试连接,验证通过后点击OK保存配置

三、常见问题排查

  • 连接测试失败:先检查SSH隧道状态,在PowerShell执行Test-NetConnection 127.0.0.1 -Port 33060,确认本地端口是否连通
  • 堡垒机限制转发:检查堡垒机sshd_config文件,确保开启AllowTcpForwarding yes
  • MySQL权限限制:确认MySQL用户允许从堡垒机IP访问,可执行权限语句:GRANT ALL ON 目标数据库.* TO '用户名'@'堡垒机IP' IDENTIFIED BY '密码';,执行后刷新权限FLUSH PRIVILEGES;
  • 本地端口占用:更换一个未被使用的端口(如33061)重新配置隧道与ODBC

内容的提问来源于stack exchange,提问作者Naveenkumar Arumugam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 08:22:22