如何正确连接到 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,如果我理解正确的话,冒号不是主机名的有效字符)。
我的问题:
在 GCloud 应用程序中使用 IP 地址进行 mysql 连接是否可靠(当 Google App Engine 上的应用程序连接到 GCloud SQL 实例时)?
如果没有,我们能否获得一个稳定、有效的主机名?
如果没有,是如何正确完成的?
一般来说,在使用 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
总结并解决您的问题:
它是可靠的(您的云 SQL ip 地址在重启时不会改变),但它不是 App Engine 应用程序的推荐方法。
我不这么认为。
使用名称不是主机名的实例连接。
给定 PHP-应用程序 运行 在 Google App Engine 上,它需要连接到 GCloud SQL 实例与 MySql in 2。世代.
我很好奇我是否应该使用官方 Google docs 中所述的任何 mysql-连接的 IP 地址,或者如果 Google 可能会更改 IP 地址。
到目前为止,我在 google 云控制台中看到的是像
这样的实例名称my-example-instance:europe-west3:databasename
.
但由于他们在名称中使用冒号,我们无法将其用作主机名(根据 RFC 952,如果我理解正确的话,冒号不是主机名的有效字符)。
我的问题:
在 GCloud 应用程序中使用 IP 地址进行 mysql 连接是否可靠(当 Google App Engine 上的应用程序连接到 GCloud SQL 实例时)?
如果没有,我们能否获得一个稳定、有效的主机名?
如果没有,是如何正确完成的?
一般来说,在使用 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
总结并解决您的问题:
它是可靠的(您的云 SQL ip 地址在重启时不会改变),但它不是 App Engine 应用程序的推荐方法。
我不这么认为。
使用名称不是主机名的实例连接。