如何正确连接到 GCloud SQL 数据库?

How to connect to GCloud SQL database properly?

给定 PHP-应用程序 运行 在 Google App Engine 上,它需要连接到 GCloud SQL 实例与 MySql in 2。世代.

我很好奇我是否应该使用官方 Google docs 中所述的任何 mysql-连接的 IP 地址,或者如果 Google 可能会更改 IP 地址。

到目前为止,我在 google 云控制台中看到的是像

这样的实例名称
my-example-instance:europe-west3:databasename

.

但由于他们在名称中使用冒号,我们无法将其用作主机名(根据 RFC 952,如果我理解正确的话,冒号不是主机名的有效字符)。

我的问题:

  1. 在 GCloud 应用程序中使用 IP 地址进行 mysql 连接是否可靠(当 Google App Engine 上的应用程序连接到 GCloud SQL 实例时)?

  2. 如果没有,我们能否获得一个稳定、有效的主机名?

  3. 如果没有,是如何正确完成的?

一般来说,在使用 GCP 时,最好的办法是遵循官方文档。这将防止您 运行 陷入不受支持的情况,并使您更容易获得帮助和支持。

对于 Google App Engine 上的 PHP-应用程序 运行,推荐的方法是使用 具有以下格式的实例连接名称(注意这不是主机名):

project_id:地区:cloud_sql_instance_name

使用App Engine Standard的详细说明您可以参考:https://cloud.google.com/appengine/docs/standard/php/cloud-sql/using-cloud-sql-mysql

关于App Engine Flex您可以参考: https://cloud.google.com/appengine/docs/flexible/php/using-cloud-sql

总结并解决您的问题:

  1. 它是可靠的(您的云 SQL ip 地址在重启时不会改变),但它不是 App Engine 应用程序的推荐方法。

  2. 我不这么认为。

  3. 使用名称不是主机名的实例连接。