连接到 Google Cloud SQL for MySQL

Cloud SQL for MySQL 是一项全托管式数据库服务,可帮助您在 Google Cloud上快速设置、维护、管理和控制关系型 MySQL 数据库。借助 Cloud SQL for MySQL 连接器,您可以在数据洞察中访问 Cloud SQL for MySQL 数据库的数据。

支持的版本

Cloud SQL for MySQL 连接器已在以下 MySQL 版本上经过测试:

  • 5.6
  • 5.7
  • 8.0

如果您在使用受支持的版本时遇到问题,请在数据洞察社区中告知我们。您还可以在问题跟踪器中添加功能请求并对其进行投票。在问题跟踪器上

如何连接到 Cloud SQL for MySQL

数据洞察数据源可以连接到单个 Cloud SQL for MySQL 数据库表,也可以连接到您提供的自定义查询。

可建立联系

  1. 登录数据洞察。
  2. 在数据洞察首页的左上角,点击 “创建”图标。 创建 ,然后选择数据源
  3. 选择 Cloud SQL for MySQL 连接器。
  4. 如果系统询问,请授权数据洞察访问您的数据。
  5. 设置与数据库的连接:

    • 如需使用主机名或 IP 地址进行连接
      1. 在左侧,选择 基本
      2. 输入连接详细信息:
        1. 实例连接名称
        2. 数据库
        3. 用户名
        4. 密码
    • 如需使用 JDBC 网址进行连接
      1. 在左侧,选择 JDBC 网址
      2. 输入连接详细信息:
        1. JDBC 网址

          示例 jdbc:google:mysql: //<instance connection name>/

        2. 用户名
        3. 密码
      > 如果您使用 JDBC 主机名选项,则可以使用 Whois 等公共 DNS 查找工具确保其可访问性。
    如需使用 IPv6 字面量地址进行连接,请将该地址用方括号括起来。例如: jdbc:google:mysql://\[2001:db8:1:1:1:1:1:1\]/your_db
    • 注意 :数据洞察无法连接到 localhost。您必须使用公共主机名或 IP 地址。
  6. 点击身份验证

  7. 从列表中选择一个表,或输入自定义查询。

选择自定义查询 选项,以提供 SQL 查询,而不是连接到单个表。数据洞察会将此自定义 SQL 用作所生成的每个数据库查询的内部 select 语句。

例如,以下查询将无法 正常运行,因为它包含多个 SQL 语句:


DECLARE cost_per_tb_in_dollar FLOAT64 DEFAULT 4.2;

SELECT total_bytes_billed / (1024 * 1024))* cost_per_tb_in_dollar)/(1024*1024))) FROM billing-table;

数据洞察中的查询可能会在三到五分钟后超时。如果您的自定义查询超时,请尝试以下方法来解决此问题:

  • 简化查询,使其运行速度更快。
  • 在数据库中运行查询,并将结果存储在单独的表中。在数据源中连接新表。
  1. 点击连接

片刻之后,系统会显示数据源字段列表页面。点击创建报告 ,开始直观呈现数据。

备注

查找实例连接名称

实例连接名称用于标识实例 Google Cloud。您可以从 Google Cloud 控制台或使用命令行获取该名称。

使用控制台

  1. 前往 https://console.cloud.google.com/sql/instances。
  2. 点击要连接的实例 ID。
  3. 在左侧的“连接到此实例”部分,您会找到连接名称。

使用命令行

如需使用 Cloud 命令行界面查找连接名称,请使用以下命令:


gcloud sql instances describe [INSTANCE_NAME] | grep connectionName

权限

您必须至少拥有 Cloud SQL for MySQL 项目中的 cloudsql.client 权限,才能创建连接。如果您没有(或无法获取)此访问权限,则可以改用 MySQL 连接器

网络连接

Cloud SQL for MySQL 连接器支持连接到使用公共 IP 连接和专用 IP 连接的 Cloud SQL for MySQL 实例。

在使用 Cloud SQL for MySQL 连接器之前,您必须为 Cloud SQL for MySQL 实例配置 公共 IP 连接专用 IP 连接

如需允许数据洞察访问 Cloud SQL 中的数据,并通过专用连接对此数据进行查询,请在 Cloud SQL for MySQL 实例设置中选择 Google Cloud 服务的专用路径 选项。

数据类型

数据洞察会将数据库的内置数据类型映射到一组统一的数据类型。如果数据洞察在表或查询中遇到不受支持类型的列,则不会为该列创建字段。

注意 :数据洞察不支持 MySQL Spatial Data Extensions。

Cloud SQL for MySQL 连接器的限制

  • 使用此连接器时,每个查询最多可以查询 15 万行。如果超出此限制,数据将被截断。
  • 列标题(字段名称)只能使用 ASCII 字符。不支持非 ASCII 字符。

问题排查

如需查看常见错误消息列表以及解决这些错误消息的步骤,请参阅数据洞察问题排查指南