【发布时间】:2019-10-28 10:04:22
【问题描述】:
在 Cloud Run 上运行映像时,我无法连接到 Cloud SQL 实例。这个功能还有效吗?
我已使用 Compute Engine 成功连接到同一个 SQL 实例。
尝试使用简单的 shell 命令连接到 Cloud SQL 实例:
mysql --host=$MYSQL_IP --user=$MYSQL_ROOT --password=$MYSQL_PASS -e "SHOW DATABASES"
结果记录如下:
错误 2003 (HY000):无法连接到“.*..”上的 MySQL 服务器 (110)
【问题讨论】:
-
这是我一直关注的页面,但对我不起作用。你有没有按照这些说明走运?
-
你在哪里运行
mysql命令? -
如果您在 Cloud Run 容器中运行此命令,则只有在 Cloud SQL 具有公共 IP(使用您的方法)时,您才能连接到私有 IP。 Cloud Run 不属于您的 VPC。通常您想使用 Unix 套接字
/cloudsql/[CONNECTION_NAME]进行连接,例如:mysql --user=$MYSQL_ROOT --password=$MYSQL_PASS -S /cloudsql/<CONNECTION_NAME> -e "SHOW DATABASES" -
嗨,Daz,是的,感谢@JohnHanley,我终于让它工作了。我使用了 unix socket 技术,它自动为我设置了云 sql 代理。
标签: mysql docker google-cloud-platform google-cloud-run