【问题标题】:Laravel MySQL Google App Engine - ERROR: (gcloud.sql.instances.describe) There was no instance foundLaravel MySQL Google App Engine - 错误:(gcloud.sql.instances.describe)没有找到实例
【发布时间】:2018-05-19 19:12:07
【问题描述】:

我在these steps 之后使用 Google App Engine 部署了我的 Laravel 5.6 应用程序。 Laravel 应用程序在 URL 上运行,但我无法设置 MySQL。

我创建了第二代 MySQL 开发数据库,​​然后在我的 macbook 上创建了installed the Cloud SQL Proxy client。当我尝试连接到该实例时,我收到一个错误,即找不到实例。我做错了什么?

这里是我运行的命令来启动我的应用程序

$ gcloud init 
$ gcloud app deploy
$ gcloud app browse
$ curl -o cloud_sql_proxy https://dl.google.com/cloudsql/cloud_sql_proxy.darwin.amd64
$ chmod +x cloud_sql_proxy
$ gcloud sql instances describe laraveljwtstarter
ERROR: (gcloud.sql.instances.describe) There was no instance found at
projects/laraveljwtstarter/instances/laraveljwtstarter or you are not 
authorized to access it.

我的实例名为laraveljwtstarter,是我通过 Google Cloud Platform UI 创建的。如何将我的 Laravel 应用程序连接到这个数据库?

【问题讨论】:

    标签: php laravel google-app-engine laravel-5 google-cloud-sql


    【解决方案1】:

    嗯,首先,您没有使用您共享的命令连接到实例。 gcloud sql instances describe laraveljwtstarter - 此命令仅显示有关名为 laraveljwtstarter 的 Cloud SQL 实例的配置和元数据。正如上面已经提到的,请确保在运行该命令之前创建了数据库,并确保您指定了正确的数据库名称。

    如果您希望使用 Cloud SQL 代理连接到数据库,您必须首先像 article you mentioned 中所说的那样启动它。据我了解,您在 App Engine 中有一个应用程序,因此您使用了文档中的错误示例。通常,如果您想将 GAE 应用程序与 Cloud SQL 实例连接,有多种选择,具体取决于您使用的是 App Engine 标准环境还是灵活环境。这两个选项都适用于 PHP,您可以阅读更多 here

    您通常使用 Cloud SQL 代理,因为它可以安全地访问您的 Cloud SQL 第二代实例,而无需将您要连接的 IP 地址列入白名单或配置 SSL。您的应用需要 Cloud SQL 代理才能在本地连接到 Cloud SQL 数据库。对于已部署的应用程序,无需设置 Cloud SQL 代理。

    另外,here 是一个简短但内容丰富的视频,介绍如何在 App Engine 中使用 Cloud SQL。

    我知道我的答案很笼统,但您应该发布更具体的问题以获得具体答案。

    【讨论】:

      【解决方案2】:

      没关系,只需确保通过 UI 创建的数据库确实已创建!

      【讨论】:

        猜你喜欢
        • 2018-11-03
        • 2021-08-25
        • 2016-07-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-05
        • 2020-07-15
        • 2014-10-18
        相关资源
        最近更新 更多