【问题标题】:How to connect to GCloud SQL database properly?如何正确连接 GCloud SQL 数据库?
【发布时间】:2018-07-29 11:24:43
【问题描述】:

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

我很好奇我是否应该使用官方Google docs 中所述的任何 mysql 连接的 IP 地址,或者如果 Google 可能更改 IP 地址,我们是否可以使用主机名之类的东西来防止中断。

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

my-example-instance:europe-west3:databasename

.

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

我的问题:

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

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

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

【问题讨论】:

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


    【解决方案1】:

    一般而言,在使用 GCP 时,最好遵循官方文档。这将防止您遇到不受支持的案例,并使您更容易获得帮助和支持。

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

    project_id:region: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. 这是可靠的(您的 Cloud SQL ip 地址不会在重启时更改),但对于 App Engine 应用程序来说,这不是推荐的方法。

    2. 我不这么认为。

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

    【讨论】:

      猜你喜欢
      • 2018-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多