使用 Navicat 通过 SSH 隧道远程连接 MySQL 数据库

图片[1]-使用 Navicat 通过 SSH 隧道远程连接 MySQL 数据库-雾祈心语

📖 前言

很多同学在用宝塔面板安装完 LNMP 环境后,想用本地的 Navicat 管理数据库,通常会去防火墙放行 3306 端口。其实这种做法很不安全,容易被黑客扫描攻击。最推荐的方法是使用 SSH 隧道连接,不仅不需要开放数据库端口,数据传输还会全程加密。

🛠️ 准备工作

在开始之前,请确保你手里有以下两组资料:

  1. 服务器 SSH 信息:IP 地址、SSH 端口(默认 22,宝塔通常会修改)、root 用户名及密码。
  2. MySQL root 密码:在宝塔面板 -> 「数据库」 -> 点击右上角「root密码」获取。

🚀 详细步骤

第一步:配置 SSH 隧道(建立安全通道)

打开 Navicat,新建 MySQL 连接,点击 「SSH」 选项卡:

  1. 勾选「使用 SSH 隧道」。
  2. 主机:填写你的服务器公网 IP(例如:59.153.166.52)。
  3. 端口:填写服务器 SSH 端口(例如:28494)。
  4. 用户名:通常为 root
  5. 密码:填写你的服务器登录密码。

第二步:配置常规连接(连接数据库)

切换到 「常规」 选项卡,这里的填写非常关键,请务必按照以下逻辑填写

  1. 连接名:随便起,如 生产环境数据库
  2. 主机:填写 localhost 或 127.0.0.1注意:因为使用了 SSH 隧道,Navicat 会先登录服务器,所以这里填 localhost 就代表服务器本地)。
  3. 端口3306
  4. 用户名root
  5. 密码:填写你在宝塔面板中查看到的 MySQL root 密码(注意:不是服务器登录密码!)。

第三步:测试与保存

点击左下角的 「测试连接」

  • 如果显示「连接成功」,恭喜你!点击确定保存即可。
  • 如果报错 1045,请检查「常规」页面的数据库密码是否填错。
  • 如果报错 Access denied for 'password',请检查「SSH」页面的服务器密码是否填错。

💡 为什么推荐这种方法?

比较维度直接连接 (放行 3306)SSH 隧道连接 (推荐)
安全性差(端口暴露在公网,易受攻击)极高(仅限 SSH 访问,数据加密)
配置难度中(需修改防火墙和数据库权限)(仅需填好两组密码)
性能略快几乎无感(加密会有微小开销)

📝 小结

通过 SSH 隧道连接数据库是运维开发中的标准操作。它让我们在享受图形化工具便利的同时,最大限度地保护了数据库的安全。

© 版权声明
THE END
文章很赞,支持一下吧~ 还没有人为TA打赏
暂无打赏用户
还没有人为TA打赏
喜欢就支持一下吧
点赞11 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容