导读:本期聚焦于小伙伴创作的《mysql如何在Navicat中配置SSH隧道连接突破内网防火墙限制》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《mysql如何在Navicat中配置SSH隧道连接突破内网防火墙限制》有用,将其分享出去将是对创作者最好的鼓励。

当mysql数据库部署在内网服务器时,出于安全考虑通常不会将3306端口直接开放到公网,此时直接通过Navicat连接会被防火墙拦截。通过SSH隧道技术,可以借助SSH服务器的端口转发能力,间接访问内网中的mysql服务,既满足远程访问需求,又不会增加数据库的安全风险。

mysql如何在Navicat中配置SSH隧道连接突破内网防火墙限制

SSH隧道连接原理

SSH隧道的核心逻辑是借助一台拥有公网访问权限且能连通内网mysql的SSH服务器,将本地端口的请求转发到SSH服务器,再由SSH服务器转发到目标mysql服务器。整个过程mysql端口不需要对外暴露,所有流量都通过SSH加密通道传输,安全性更高。

Navicat配置SSH隧道连接mysql步骤

1. 准备前置信息

在配置前需要确认以下信息已经获取:

  • SSH服务器的公网IP或域名、SSH端口(默认22)、登录用户名、登录密码或私钥文件
  • 内网mysql服务器的IP地址、端口(默认3306)、登录用户名、登录密码
  • SSH服务器和内网mysql服务器之间网络互通,SSH服务器可以访问mysql的对应端口

2. 新建mysql连接

打开Navicat,点击左上角连接按钮,选择MySQL,进入连接配置界面。

3. 配置常规连接参数

常规标签页中,填写mysql相关的连接信息:

  • 连接名:自定义一个便于识别的名称,比如内网mysql-SSH隧道
  • 主机:填写127.0.0.1,因为后续会通过SSH隧道将本地端口转发到远程mysql,本地访问127.0.0.1即可映射到远程mysql
  • 端口:默认3306,如果mysql修改过端口则填写实际端口
  • 用户名:填写mysql的登录用户名
  • 密码:填写mysql对应用户的登录密码

4. 配置SSH隧道参数

切换到SSH标签页,勾选使用SSH隧道选项,然后填写SSH服务器的相关信息:

  • 主机:填写SSH服务器的公网IP或域名
  • 端口:填写SSH服务的端口,默认是22,若SSH修改过端口则填写实际端口
  • 用户名:填写SSH服务器的登录用户名
  • 认证方式:可以选择密码或者公钥,如果选择密码则填写SSH登录密码,如果选择公钥则上传对应的私钥文件
  • 保存密码:勾选后Navicat会保存SSH登录凭证,下次连接不需要重复输入

5. 测试连接并保存

填写完所有参数后,先点击SSH标签页下方的测试连接按钮,确认SSH隧道可以正常建立。如果SSH连接成功,再点击常规标签页的测试连接按钮,确认mysql可以正常访问。两次测试都通过后,点击确定保存连接配置,之后就可以在Navicat左侧连接列表中找到该连接,双击即可访问内网mysql。

常见问题排查

SSH连接失败

如果SSH测试连接失败,首先检查SSH服务器的公网IP、端口、用户名、密码是否正确,确认SSH服务正常运行,且防火墙没有拦截SSH端口。如果是密钥认证失败,检查私钥文件是否匹配,权限是否正确。

mysql连接失败

SSH隧道建立成功但mysql连接失败,通常是以下原因:

  • 常规标签页的主机填写错误,必须填写127.0.0.1而不是mysql的实际内网IP
  • SSH服务器无法访问内网mysql的对应端口,可以在SSH服务器上执行telnet mysql_ip mysql_port命令测试连通性
  • mysql用户没有开放本地访问权限,因为通过SSH隧道访问mysql时,mysql识别到的来源是SSH服务器本地,需要确认mysql用户允许127.0.0.1或者localhost登录

配置示例参考

假设SSH服务器公网IP是192.168.0.1,SSH端口22,用户名ssh_user,密码ssh_pwd;内网mysqlIP是10.0.0.10,端口3306,用户名mysql_user,密码mysql_pwd,配置参数如下:

配置项填写内容
常规-主机127.0.0.1
常规-端口3306
常规-用户名mysql_user
常规-密码mysql_pwd
SSH-主机192.168.0.1
SSH-端口22
SSH-用户名ssh_user
SSH-密码ssh_pwd

注意事项

使用SSH隧道连接mysql时,不需要在SSH服务器上额外做端口转发配置,Navicat会自动处理隧道建立的逻辑。如果SSH服务器需要跳板机才能访问,目前Navicat原生不支持多跳SSH隧道,需要先手动建立好跳板机到目标SSH服务器的隧道,再配置Navicat连接。另外建议定期更新SSH和mysql的密码,避免凭证泄露带来安全风险。

mysqlNavicatSSH隧道内网防火墙修改时间:2026-07-14 15:42:31

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。