技术文摘
通过 SSH 隧道实现外部访问 MySQL 的实例教程
通过 SSH 隧道实现外部访问 MySQL 的实例教程
在很多情况下,我们需要从外部网络安全地访问内部的 MySQL 数据库。SSH 隧道就是一种安全有效的解决方案,它能在不安全的网络环境中建立一条加密通道。下面就为大家详细介绍如何通过 SSH 隧道实现外部访问 MySQL。
准备工作
确保你有一台拥有公网 IP 的服务器,并且已经安装并配置好 SSH 服务。内部网络中的 MySQL 服务器也需要正确配置,保证可以正常运行。另外,你还需要准备好 SSH 客户端工具,比如 PuTTY(Windows 系统常用)或者系统自带的 SSH 命令(Linux 和 macOS 系统)。
创建 SSH 隧道
使用命令行工具:如果你使用的是 Linux 或 macOS 系统,打开终端,使用以下命令创建 SSH 隧道:
ssh -L 本地端口:目标 MySQL 服务器 IP:MySQL 端口 ssh 用户名@拥有公网 IP 的服务器地址例如:
ssh -L 3307:192.168.1.100:3306 root@1.2.3.4这里,
3307是本地端口,192.168.1.100是内部 MySQL 服务器的 IP 地址,3306是 MySQL 端口,root是 SSH 用户名,1.2.3.4是拥有公网 IP 的服务器地址。 如果你使用的是 PuTTY(Windows 系统),打开 PuTTY 工具,在“Host Name”中填写拥有公网 IP 的服务器地址,在“Port”中填写 SSH 端口(默认为 22)。然后在“Connection -> SSH -> Tunnels”中,“Source port”填写本地端口,“Destination”填写目标 MySQL 服务器 IP 和端口,格式为“目标 MySQL 服务器 IP:MySQL 端口”,点击“Add”,最后点击“Open”连接服务器。输入密码或密钥认证:连接时,根据提示输入 SSH 用户的密码,或者如果你配置了密钥认证,系统会自动通过密钥进行认证。
配置 MySQL 客户端连接
打开 MySQL 客户端,比如 MySQL Workbench。在连接设置中,“Hostname”填写“127.0.0.1”(因为是通过本地隧道连接),“Port”填写创建隧道时设置的本地端口(如 3307),然后填写正确的 MySQL 用户名和密码,点击“Test Connection”进行测试。如果连接成功,就可以顺利访问内部的 MySQL 数据库了。
通过 SSH 隧道实现外部访问 MySQL,既保证了数据传输的安全性,又能方便地进行远程数据库管理。掌握这一方法,能让你在处理跨网络数据库访问需求时更加得心应手。
- 利用 sync.Cond 协调并发 goroutine 对共享资源的访问
- Calico BGP 容器网络实践漫谈
- Spring 如何解决循环依赖问题
- 高效使用 Goroutine 的方法,你掌握了吗?
- 事务管理与锁控制:你能否清晰区分?
- Python 爬虫必备:Beautiful Soup 解析网页数据指南,轻松上手!
- 学会 Rust 内存布局的一篇指南
- Spring Cloud Gateway 中 Body 读取问题的彻底解决之道
- 优雅掌控 API 接口开关:使应用更具可控性
- 中美三名程序员对比,差距显著
- Go 主流日志库浅析:设计层集成日志轮转与切割功能的学习
- Vue3 学习札记:Vue 概述与 Vue3 框架引入之道
- ARM 架构中部署 StarRocks3,您掌握了吗?
- 支付宝网站支付:即使不睡觉也要掌握
- Java 中文件、数据库及网络连接未正确关闭致资源泄漏