使用自动化流程创建 Cloud SQL 流

本页介绍了如何使用自动化设置流程创建直播。

自动流设置可减少您需要执行的步骤,从而简化将数据从Google Cloud 托管数据库迁移到 BigQuery 的过程。借助此流程,您可以直接从 Cloud SQL 实例的概览页面创建数据流。Datastream 可自动确保数据流与源数据库之间的 VPC 连接安全无虞,并创建数据库配置和数据流连接资源。

准备工作

  1. 启用 Datastream、Network Connectivity 和 Compute Engine API。
  2. 确保您拥有创建和管理 Datastream 资源所需的 Identity and Access Management (IAM) 权限。如需了解详情,请参阅下文
  3. 创建并配置用于复制的源 Cloud SQL 数据库。如需了解详情,请参阅配置来源
  4. 确保源数据库已配置为使用专用服务访问通道
  5. 对于 Cloud SQL for PostgreSQL 实例:建议您在创建流之前为实例启用逻辑复制。如果您未启用逻辑复制,Datastream 会为您启用,这会导致源实例重启。

  6. 对于 Cloud SQL for MySQL 实例:为 Cloud SQL for MySQL 实例启用时间点恢复功能,并确保数据库版本为 8.0.14 或更高版本。使用自动数据流设置时,Datastream 仅支持在标准备份层级中启用时间点恢复。

  7. 对于 Cloud SQL for SQL Server 实例:请确保 Datastream 支持您的实例使用的 SQL Server 版本

所需权限

如需使用自动数据流创建流程,您需要以下 Identity and Access Management (IAM) 角色或权限:

  • serviceusage.services.enablecompute.networkAdmin,用于启用必需的 API 并执行网络配置任务。
  • cloudsql.admin 用于实例配置任务。
  • datastream.admin 用于 Datastream 代表您执行的管理任务。

Cloud SQL for PostgreSQL 所需的其他权限

  • 对于 Cloud SQL for PostgreSQL 实例,数据库管理员用户还需要您要复制的架构的 GRANT 权限,以及源数据库中用于执行管理和结构性任务的一些额外权限。连接到源数据库并运行以下命令:

    GRANT cloudsqlsuperuser TO "USER_NAME";
    ALTER ROLE "USER_NAME" CREATEROLE;
    GRANT SELECT on ALL TABLES IN SCHEMA "SCHEMA_NAME" to "USER_NAME" WITH GRANT OPTION;
    ALTER DEFAULT PRIVILEGES
    IN SCHEMA "SCHEMA_NAME"
    GRANT SELECT ON TABLES TO "USER_NAME" WITH GRANT OPTION;
    GRANT CREATE ON DATABASE "DATABASE_NAME" TO "USER_NAME";
  • 只有在自动化流程中,您提供的账号详细信息所对应的用户创建了未来的表,这些表才会自动添加到数据流中。如果未来表是由其他用户创建的,则该用户必须明确授予 Datastream 读取者用户对该表的 SELECT 权限。

创建并启动数据流

如需创建并开始直播,请执行以下步骤:

控制台

开始使用

  1. 前往源 Cloud SQL 数据库实例的概览页面。

    转到“Cloud SQL 实例”

  2. 将数据流式传输到 BigQuery 中部分,点击创建数据流

  3. 开始使用页面上,在数据流名称字段中提供数据流的名称。系统会自动填充唯一标识符。

  4. 提供实例用户账号详细信息部分中,选择身份验证方法:

    • IAM 数据库身份验证:如果您的用户已分配 Identity and Access Management (IAM) 主账号身份,则此选项可用。如需了解详情,请参阅 IAM 主账号。 如果您选择此选项,则必须手动向用户授予 cloudsqlsuperuser 角色和 CREATEROLE 权限:

      1. 在 Google Cloud 控制台中,前往 Cloud SQL 实例页面。

      转到“Cloud SQL 实例”

      1. 选择您的 Cloud SQL 实例。
      2. 在导航菜单中,点击 Cloud SQL Studio 并登录。
      3. 探索器窗格中,针对您的用户运行以下查询:
    GRANT cloudsqlsuperuser TO "USER_NAME";
    ALTER ROLE "USER_NAME" CREATEROLE;
    • 内置数据库身份验证:提供具有 cloudsqlsuperuser 角色的用户的用户名和密码。 如果您选择此选项,请确保用户对要复制的表拥有 GRANT 权限。
  5. 查看其他直播详细信息,例如区域、加密和标签。展开其他直播详情部分,根据需要应用更改。

  6. 点击继续

配置来源

  1. 配置流来源页面上,选择要从中复制数据的数据库。

  2. 要包含的对象列表默认选择所有可用的对象。 列表中的对象是您拥有流式传输所需权限的对象。如需更改所选对象,请修改列表中的选择。

  3. 查看高级数据流配置,例如回填模式和并发回填连接数上限。展开高级直播配置部分,以应用更改(如果需要)。

  4. 点击继续

配置目标位置

  1. 配置目的地页面上,根据需要调整 BigQuery 目的地设置。如需了解详情,请参阅配置有关数据流的目标位置的信息

创建并启动数据流

  1. 点击创建并稍后启动可在 Datastream 中创建数据流并稍后启动,也可点击启动立即创建并启动数据流。

  2. 系统会自动执行以下任务,并向您发送通知:

    • Datastream 会创建所需的虚拟私有云资源,例如内部 IP 地址范围、子网和网络连接。
    • Datastream 会为 CDC 配置表、设置复制槽、为数据库中的所有表设置发布内容,并创建专用 Datastream 用户。
    • Datastream 会创建专用连接配置,以及来源和目标连接配置文件。
  3. 确认您要创建或创建并开始直播。

监控数据流

您可以在 Google Cloud 控制台的源实例概览页面中监控基本的数据流详细信息。该页面会显示信息,例如数据流状态、数据流名称、目标 BigQuery 数据集和目标项目标识符。

您还可以从概览页面执行开始或暂停直播等操作。如需更精细的监控信息,请点击数据流名称以导航到 Datastream。

删除数据流

如果您删除使用自动化流程创建的数据流,系统会自动删除某些资源,例如 PostgreSQL 复制槽。不过,有些资源需要您手动删除:

  • 出版物。发布是使用数据库管理员用户创建的,只能由其所有者(默认情况下是创建该发布的用户)删除。
  • Datastream 读取者用户。
  • Datastream 来源和目标连接配置文件
  • 专用连接资源。
  • 在自动化流程期间创建的所有网络资源,例如子网和网络连接。

后续步骤