技术文摘
通过 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,既保证了数据传输的安全性,又能方便地进行远程数据库管理。掌握这一方法,能让你在处理跨网络数据库访问需求时更加得心应手。
- 在 ARM 机器上构建基于 Docker-mysql 官方镜像的 ARM 架构镜像的方法
- MySQL 关键字执行顺序中 IN 和 UNION 的位置
- Flink CDC MySQL DataStream API 版本不匹配与 JAR 包依赖问题的解决方法
- MySQL InnoDB联合索引:索引数量随字段数呈指数增长吗
- 怎样查询同一课程成绩一样的学生信息
- Spring Boot 链接 MySQL 时 MyBatis 方法硬编码与参数传递哪个更合适
- MySQL存储过程:概念与低使用率原因
- MySQL 搜索框中高效查询商品的方法
- JPA查询中同一对象的同一性探讨:一个对象修改为何影响另一个对象
- MySQL 关键字执行顺序中 IN 和 UNION 的位置
- MyBatis 查询数据:硬编码与动态参数的选择
- 怎样查询不同课程成绩相同的学生信息
- MySQL 查询时怎样在表连接中包含值为 0 的记录
- 怎样在MySQL中查询含空关联数据的数据
- MySQL 中如何利用外连接查询关联表并展示所有记录