技术文摘
通过 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,既保证了数据传输的安全性,又能方便地进行远程数据库管理。掌握这一方法,能让你在处理跨网络数据库访问需求时更加得心应手。
- Angular 13热更新失效原因:WSL中Node.js为何无法识别项目文件更新
- VSCode有哪些内置语言插件
- 怎样挑选支持年、季度、月、周、日范围选择的开源JS时间插件
- 利用代理构造器与Symbol.toPrimitive实现JavaScript链式函数调用方法
- ol-ext实现图案填充效果:FillPattern类的引用方法
- JavaScript 中生成多个数组笛卡尔积的方法
- 若无同源策略,用户与网站将面临哪些安全风险
- 正确获取textarea元素值的方法
- 微信小程序里元素拖拽功能的实现方法
- 微信小程序禁止用户手势返回确认支付页方法
- React官网示例遍历渲染疑问解答
- 怎样通过修改单元格坐标规则来查找 table 单元格合并目标坐标
- 容器内多行文本怎样垂直居中
- Vue.js中如何渲染带有括号的字符串
- Element UI中el-collapse请求数据时展开列表卡顿问题的解决方法