技术文摘
通过 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,既保证了数据传输的安全性,又能方便地进行远程数据库管理。掌握这一方法,能让你在处理跨网络数据库访问需求时更加得心应手。
- Navicat Premium for Mac 12 安装破解的图文指南
- 复杂 SQL 分组分情况分页查询的代码示例
- Navicat for MySQL 导入 csv 文件中文乱码问题的解决之道
- Postgresql REGEXP 开头正则函数的用法图文阐释
- Dapper 在执行 Insert 或 Update 时部分字段未映射至数据库
- Navicat 导入 CSV 文件的详细操作流程
- PostgreSQL 常用日期函数使用汇总
- 解决 Navicat 打开表速度慢的问题
- PostgreSQL 中空值 NULL 处理与替换的问题解决方案
- PostgreSQL 开启 pg_log 日志的详细步骤与参数阐释
- Linux 下 OpenGauss 数据库远程连接的开启与配置教程详解
- PostgreSQL Log 日志模块原理与现存问题剖析
- 数据库 librarydb 多表查询操作指南
- 实战解析慢查询 SQL 调优中的 exists
- PostgreSQL 表大小的查询方法(单独与批量)