如何将多台私有IP的Cloud SQL实例连接至本地MySQL Workbench?
连接多台私有IP Cloud SQL实例到MySQL Workbench的方案
无需虚拟机的方案:多端口转发(gcloud CLI)
每个Cloud SQL实例需要绑定唯一的本地端口避免冲突,操作步骤如下:
- 打开多个终端窗口(或让进程后台运行),为每个实例单独执行端口转发命令:
第一台实例:gcloud sql connect [INSTANCE_NAME_1] --port=3307 --user=root
第二台实例:gcloud sql connect [INSTANCE_NAME_2] --port=3308 --user=root
提示:本地端口选3306以外的数值,且每个实例用不同端口 - 在MySQL Workbench中逐个创建连接配置:
- 自定义连接名称(比如“业务库实例”)
- 主机名填
127.0.0.1 - 端口填对应实例的本地转发端口(如3307)
- 输入数据库账号(比如root)
保存后就能分别连接不同的Cloud SQL实例了
如果不想一直开着终端,可以用后台进程运行转发:nohup gcloud sql connect [INSTANCE_NAME] --port=330X --user=root &
借助虚拟机的方案:跳板机转发
如果需要统一管理所有连接,可用一台带公网IP的GCE虚拟机作为跳板:
- 创建GCE虚拟机时,确保它和所有Cloud SQL实例在同一个VPC网络(或通过VPC peering打通网络)
- 两种连接方式可选:
- 直接在虚拟机上安装MySQL Workbench,通过Cloud SQL实例的私有IP直接连接(同VPC内网络互通)
- 通过SSH端口转发到本地,为每个实例映射不同端口:
在本地终端执行:ssh -L 3307:[SQL_INSTANCE_1_PRIVATE_IP]:3306 [VM_USER]@[VM_PUBLIC_IP]ssh -L 3308:[SQL_INSTANCE_2_PRIVATE_IP]:3306 [VM_USER]@[VM_PUBLIC_IP]
之后在本地MySQL Workbench用127.0.0.1加对应端口连接即可
内容的提问来源于stack exchange,提问作者ajay singh naruka
相关产品推荐
相关产品推荐

