本页面介绍了如何使用自动设置流程创建数据流。
自动数据流设置流程通过减少需要执行的步骤,简化了将数据从 Google Cloud 代管式数据库迁移到 BigQuery 的过程。借助此流程,您可以直接从 Cloud SQL 实例的概览页面创建数据流。 Datastream 会自动保护数据流与源数据库之间的 VPC 连接,并创建数据库配置和数据流连接资源。
准备工作
- 启用 Datastream、Network Connectivity 和 Compute Engine API。
- 确保您拥有创建和管理 Datastream 资源所需的 Identity and Access Management (IAM) 权限。如需了解详情,请参阅以下部分 。
- 创建并配置用于复制的来源 Cloud SQL 数据库。如需了解详情,请参阅 配置来源。
- 确保您的源数据库配置为使用 专用服务访问通道。
对于 Cloud SQL for PostgreSQL 实例:我们建议您在创建数据流之前为实例启用逻辑 复制。如果您未启用逻辑复制,Datastream 会为您启用,这会重启您的源实例。
对于 Cloud SQL for MySQL 实例:为 Cloud SQL for MySQL 实例启用时间点恢复,并确保数据库版本为 8.0.14 或 更高版本。使用自动数据流设置时,Datastream 仅支持在 标准 备份层级中启用时间点恢复。
对于 Cloud SQL for SQL Server 实例:确保 Datastream 支持您的实例使用的 SQL Server 版本。
所需权限
如需使用自动数据流创建流程,您需要以下 Identity and Access Management (IAM) 角色或权限:
serviceusage.services.enable、compute.networkAdmin,用于启用所需的 API 并执行网络配置任务。cloudsql.admin,用于实例配置任务。datastream.admin,用于 Datastream 代表您执行的管理任务。
Cloud SQL for PostgreSQL 所需的其他权限
- 确保您已向
postgres或cloudsqlsuperuser角色授予对所选数据库中所有架构和表的访问权限。由于自动流程默认包含数据库中的所有架构和表,因此如果自动创建的数据库用户缺少对任何架构或表的权限,数据流创建就会失败。 如果您选择自定义数据流设置,您的数据库管理员用户还需要对要复制的架构具有
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权限。
创建并启动数据流
如需创建并启动数据流,请执行以下步骤:
控制台
前往源 Cloud SQL 数据库实例概览页面。
选择要从中流式传输数据的实例。
在将数据复制到 BigQuery 部分中,点击启动数据流 。
此时会打开开始流式复制数据 窗格。
对于 Cloud SQL for PostgreSQL 和 Cloud SQL for MySQL 来源,请在 数据流设置下查看您创建的数据流的默认设置。对于 Cloud SQL for SQL Server 来源,请前往自定义 数据流设置部分。
如果您已准备好创建并启动数据流,请点击启动数据流 。
如果您需要更改数据流设置,请点击自定义 。
自定义数据流设置
点击自定义 后,系统会显示自定义数据流设置 页面 。确保您拥有 自定义数据流设置所需的权限。
开始使用
- 在开始使用 页面上,在数据流名称 字段中提供数据流的名称。系统会自动填充唯一标识符。
在提供实例用户账号详细信息 部分中,选择身份验证方法:
IAM 数据库身份验证:如果您的用户已分配 Identity and Access Management (IAM) 主账号身份,则可以使用此选项。如需了解详情,请参阅 IAM 主账号。 如果您选择此选项,则必须手动向用户授予
cloudsqlsuperuser角色和CREATEROLE权限:- 在 Google Cloud 控制台中,前往 Cloud SQL 实例 页面。
- 选择您的 Cloud SQL 实例。
- 在导航菜单中,点击 Cloud SQL Studio 并登录。
- 在探索器 窗格中,为您的用户运行以下查询:
GRANT cloudsqlsuperuser TO "USER_NAME"; ALTER ROLE "USER_NAME" CREATEROLE;
- 内置数据库身份验证:提供具有
cloudsqlsuperuser角色的用户的用户名和 密码。 如果您选择此选项,请确保用户对要复制的表具有GRANT权限。
查看其他数据流详细信息,例如区域、加密和标签。 展开其他数据流详细信息 部分以应用更改(如果需要)。
点击继续 。
配置来源
在配置数据流来源 页面上,选择要从中复制数据的数据库。
要包含的对象 列表默认选择所有可用对象。列表中的对象是您具有流式传输所需权限的对象。如需更改所选对象,请修改列表中的选择。
查看高级数据流配置,例如回填模式和并发回填连接数上限。展开高级数据流配置 部分以应用更改(如果需要)。
点击继续 。
配置目标位置
- 在配置目标位置 页面上,根据需要调整 BigQuery 目标位置设置。如需了解详情,请参阅 配置有关数据流目标位置的信息。
创建并启动数据流
点击创建并稍后启动 以创建数据流并稍后在 Datastream 中启动,或点击启动 以立即创建并启动数据流。
系统会通知您自动执行的任务:
- Datastream 会创建所需的虚拟私有云资源,例如内部 IP 地址范围、子网和网络连接。
- Datastream 会为 CDC 配置表,设置复制槽,为数据库中的所有表设置发布内容,并创建专用 Datastream 用户。
- Datastream 会创建专用连接配置以及来源和目标连接配置文件。
确认您要创建或创建并启动数据流。
监控数据流
您可以在 控制台 Google Cloud 中的来源实例概览页面中监控基本数据流详细信息。该页面会显示数据流状态、数据流名称、目标 BigQuery 数据集和目标项目标识符等信息。
您还可以从概览页面执行操作,例如启动或暂停数据流。如需了解更精细的监控信息,请点击数据流名称以导航到 Datastream。
删除数据流
删除使用自动流程创建的数据流时,某些资源(例如 PostgreSQL 复制槽)会自动删除。 不过,您需要手动删除以下资源:
- 发布内容。发布内容是使用数据库管理员用户创建的,只能由其所有者(因此默认情况下是创建者)删除。
- Datastream 读取者用户。
- Datastream 来源和目标连接配置文件
- 专用连接资源。
- 在自动流程期间创建的所有网络资源,例如子网和网络连接。