如何在本地环境下连接其他内网的MySQL

如果你的MySQL只支持内网访问.

如果你有内网某台机器(一般是跳板机)的SSH权限.

那么下面的方式是适合你的,Redis等工具同理.

创建隧道

Linux & Mac & 安装了ssh的Windows(只要安装了git,默认就安装了ssh,可通过git bush客户端使用)

命令:

ssh -N -L 13306:rdsxxxxxxxx.mysql.rds.aliyuncs.com:3306 [email protected]

命令释义:

ssh -N -L 本地端口:测试环境MySQL地址:测试环境MySQL端口 隧道服务器用户名@隧道服务器地址

Windows下可以通过GUI客户端创建隧道,如xshell等ssh客户端都有隧道功能。

连接

宿主机连接MySQL

如果你是在宿主机搭建的开发环境,至此已经可以顺利连上测试环境的MySQL了.

  • MySQL地址: localhost或127.0.0.1
  • MySQL端口: 13306

容器中连接MySQL

如果是在docker中开发,流程大概如下:

容器->宿主机->隧道->MySQL

因此这部分的处理分两部分

  1. 连接宿主机

查看此篇

  1. 通过隧道连接MySQL
    参考 宿主机连接MySQL

举例,我的配置如下:

# rpc项目数据库信息
DB_HOST=host.docker.internal
DB_PORT=13306
# 以下都和测试环境中的配置一样
DB_DRIVER=mysql
DB_DATABASE=my_database
DB_USERNAME=root
DB_PASSWORD=123456
DB_CHARSET=utf8mb4
DB_COLLATION=utf8mb4_unicode_ci
DB_PREFIX=