【问题标题】:How do I determine the database name of a Google Cloud SQL database?如何确定 Google Cloud SQL 数据库的数据库名称?
【发布时间】:2021-12-09 17:34:30
【问题描述】:

我有一个 Google Cloud SQL 实例。在“概览”选项卡下,有一个“连接到此实例”卡片,其中包含四个字段:

Public IP address
Private IP address
Associated networking
Connection name

我想在我的 python 应用程序中构造一个连接字符串来连接到这个数据库。我的连接字符串格式如下:

SQLALCHEMY_DATABASE_URL = f"mysql+mysqlconnector://{username}:{password}@{host}:{port}/{DB_NAME}"

我知道usernamepassword,因为我在 Cloud SQL -> 用户 -> 添加用户帐户下创建了一个用户。

我知道host可能上述卡信息中的Private IP address

怀疑端口是3306,没有任何具体内容,这只是我在整个示例中看到的最一致的数字。

我相信我得到了正确的字符串的上述部分,因为当我尝试运行 Python 应用程序时,我得到了这个错误:

 Unknown database {{Connection name}}

连接名称是我从信息卡中获得的值。我以为那是数据库名称,但现在我不知道。好像是my-app-name:us-central1:my-sql-instance-name

我尝试了整个值,以及字符串 (my-sql-instance-name) 中第二个 : 之后的值。都没有用。

如何确定我的 Google Cloud SQL 实例的数据库名称?

【问题讨论】:

    标签: google-cloud-platform google-cloud-sql


    【解决方案1】:

    登录到 Google Cloud Console GUI。

    点击汉堡菜单,向下滚动到数据库。点击SQL

    您应该找到一个 SQL 实例列表。点击实例名称。

    在左栏中,点击数据库

    然后您将看到一个数据库列表。一些数据库是由 MySQL 创建的,例如 information_schema。记下数据库名称,然后在连接字符串中使用该名称。

    您也可以使用 CLI:

    列出 Cloud SQL 实例:

    gcloud sql instances list --project=PROJECT_ID
    

    gcloud sql instances list

    列出数据库:

    gcloud sql databases list --instance=INSTANCE_NAME --project=PROJECT_ID
    

    gcloud sql databases list

    注意:您的连接字符串使用的是 IP:PORT。这意味着您还需要将您的 IP 地址列入白名单才能连接到 SQL 实例。我建议您改用 Cloud SQL Auth Proxy。 Cloud Run 等一些服务已经内置了 SQL Auth Proxy。有关如何连接到 Cloud SQL,请参阅服务文档。

    About the Cloud SQL Auth proxy

    【讨论】:

      猜你喜欢
      • 2017-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-15
      • 2018-12-25
      • 2020-02-16
      相关资源
      最近更新 更多