有没有办法在 Google 云(不是云 SQL)的计算引擎上运行的 MySQL 数据库和在本地机器上运行的 MySQL 工作台之间打开端口 3306 进行连接?
我可以在防火墙规则下通过在所有网络 (0.0.0.0/0) 上打开端口 3306 来连接它。但是,我想限制它只连接到我的笔记本电脑,而不是所有网络。我有一个动态 IP 地址,但我不介意每次连接时都创建防火墙规则。请指教。
答案1
我研究了很多,我猜没有办法在 googlecloud 防火墙上允许你的笔记本电脑使用 dhcp 地址。我通过关闭 ssh 隧道解决了这个问题
Windows 来源: http://quintagroup.com/services/support/tutorials/mysql-windows
Linux 来源: http://quintagroup.com/services/support/tutorials/mysql-linux
答案2
tcp:3306
是的,您可以为协议/端口创建 GCE 防火墙规则,并在Source filter
规则下指定您的远程 IP 地址作为源 IP 范围。这将允许仅从您的 IP 地址访问在 GCE VM 上运行的 MySQL 服务。
由于您的 IP 地址是动态的,因此每当您的 IP 地址发生变化时,您都可以使用以下gcloud
命令来更新防火墙规则上的源 IP 地址:
gcloud compute firewall-rules update --source-ranges=<Your IP Address/32>
如果你的笔记本电脑的 IP 地址在重新连接到互联网后发生变化,你可以使用Task Scheduler
Windows 操作系统gcloud
在建立新的互联网连接后自动运行命令。
另外,检查一下关联了解如何通过命令获取公共 IP 地址。如果您的计算机连接到专用网络并且ipconfig
命令不显示您的外部 IP 地址,这将很有用。
您还可以找到适用于 Linux 操作系统的等效命令。