如果你的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
因此这部分的处理分两部分
- 连接宿主机
- 通过隧道连接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=