技术文摘
通过 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,既保证了数据传输的安全性,又能方便地进行远程数据库管理。掌握这一方法,能让你在处理跨网络数据库访问需求时更加得心应手。
- 用递增数字替换与回溯法高效解决多层数组排列组合问题的方法
- PHPFONT字体子集生成失败 正确保存TrueType字体文件的方法
- 怎样高效生成特定层数的字符排列组合
- 怎样高效实现数组元素的层级排列组合
- ThinkPHP5与Vue项目刷新页面遇404错误的解决方法
- ThinkPHP日志驱动类加载失败的解决方法
- 判断多对多关联中有无包含特定数量苹果和香蕉的篮子的方法
- ThinkPHP报错“类不存在:hinklogdriverFile”的解决方法
- 高效查询多对多关系中指定关联组合是否存在的方法
- PHP正则表达式解析HTML文档提取div内容及链接的方法
- PHP 中怎样按键下标循环创建多维数组的新数组
- 用SQL查询是否有包含特定数量水果的篮子的方法
- 乐观锁结合事务扣余额,怎样确保仅扣一次且一次成功
- PHP乐观锁加事务扣款为何仅成功一次
- PHP乐观锁事务扣款失败:余额仅扣除一次的原因