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

时间:2018-07-29 11:24:43

标签: mysql google-app-engine google-cloud-sql gcloud

Given是一个运行在Google App Engine上的PHP应用程序,它需要使用2代中的MySql连接到GCloud SQL实例。

我很好奇我是否应该按照官方Google docs中的说明将IP地址用于任何mysql连接,或者如果Google可以更改IP地址,我们是否可以使用主机名之类的名称来防止中断。

到目前为止,我在Google云控制台中看到的是一个实例名称,例如

my-example-instance:europe-west3:databasename

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

我的问题:

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

  2. 如果没有,我们可以改用一个稳定的,可正常工作的主机名吗?

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

1 个答案:

答案 0 :(得分:1)

通常,在使用GCP时,最好的选择是遵循官方文档。这将防止您遇到不受支持的案件,并使您轻松获得帮助和支持。

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

project_id:region:cloud_sql_instance_name

有关使用App Engine标准版的详细说明,请参阅: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. 这是可靠的(重启后您的Cloud SQL ip地址不会更改),但是,这不是App Engine应用程序推荐的方法。

  2. 我不这么认为。

  3. 使用名为主机名的实例连接。