从 MySQL 导入元数据

本文档介绍了如何使用 Knowledge Catalog 连接器将元数据从 MySQL 导入 Knowledge Catalog(以前称为 Dataplex Universal Catalog)。

此连接器支持托管在本地、Cloud SQL 或其他云环境中的 MySQL 实例。

您必须先完成以下任务,然后才能从 MySQL 导入元数据:

  1. 授予所需的 角色和权限
  2. 启用 Knowledge Catalog 和 BigQuery Data Transfer Service API
  3. 满足 MySQL 前提条件
  4. 满足网络前提条件

IAM 角色和权限

如需创建和管理 Knowledge Catalog 连接器作业,您需要具有 Identity and Access Management (IAM) 角色,这些角色可授予 Knowledge Catalog 和 BigQuery Data Transfer Service 的权限。

如需获得配置 MySQL 连接器所需的权限,请让您的管理员为您授予以下 IAM 角色:

此外,您还必须向 BigQuery Data Transfer Service 服务代理 (service-PROJECT_NUMBER@gcp-sa-bigquerydatatransfer.) 授予 dataplex.entryGroups.import 权限或 Dataplex Entry Group Importer (roles/dataplex.entryGroupImporter) 角色。您可以在项目级或条目组级授予此角色。

如需详细了解如何授予角色,请参阅管理 访问权限

启用 API

启用 Knowledge Catalog 和 BigQuery Data Transfer Service API。

启用 API

MySQL 前提条件

确保满足 MySQL 转移作业的前提条件。如需了解详情,请参阅 BigQuery Data Transfer Service 文档中的 MySQL 前提条件。

除了 BigQuery Data Transfer Service 前提条件之外,您的 MySQL 数据库还必须满足以下元数据提取要求:

  • 最低版本: MySQL 8.0 或更高版本。
  • 最低所需权限: 提取工具需要特定权限才能成功查询 INFORMATION_SCHEMA 并收集元数据。

这些权限可确保涵盖以下元数据:

  • 实例和数据库信息: 主机名、端口、版本和架构配置。
  • 表和列: 核心结构、数据类型和运营元数据,例如大小和行数。
  • 索引和分区: 二级索引、分区方法和表达式。
  • 视图: 虚拟表结构和定义。
  • 例程: 存储过程、函数及其参数。
  • 限制条件: 详细的主键、外键、唯一性和检查限制条件。
  • 触发器: 触发器定义和事件时间。

如需授予这些权限,请运行以下 SQL 脚本。

  1. 创建用户:

    CREATE USER 'USERNAME'@'%'
    IDENTIFIED BY 'PASSWORD';
    
  2. 授予元数据访问权限。您可以为单个目标数据库或实例上的所有数据库授予访问权限。

    如需为单个目标数据库或架构授予访问权限,请执行以下操作:

    GRANT SELECT, SHOW VIEW, REFERENCES, EXECUTE, TRIGGER
    ON DATABASE_NAME.*
    TO 'USERNAME'@'%';
    

    或者,如需为实例上的所有数据库授予访问权限,请执行以下操作:

    GRANT SELECT, SHOW VIEW, REFERENCES, EXECUTE, TRIGGER
    ON *.*
    TO 'USERNAME'@'%';
    
  3. 允许提取工具列出实例上的所有可用数据库:

    GRANT SHOW DATABASES ON *.* TO 'USERNAME'@'%';
    
  4. 应用更改:

    FLUSH PRIVILEGES;
    

替换以下内容:

  • USERNAME:您要配置的数据库用户。
  • PASSWORD:数据库用户的密码。
  • DATABASE_NAME:您要访问的 MySQL 数据库的名称。

网络前提条件

如需通过 Private Service Connect 进行连接,您需要使用网络连接,以便在专用网络中使用专用 IP 地址安全地连接到 外部数据库或第三方云数据源,从而让 BigQuery Data Transfer Service 访问您的数据库。

如果您使用公共 IP 地址连接到本地环境或云托管实例,则不需要网络连接。

配置 MySQL 连接器

使用 Google Cloud 控制台或 API 配置 MySQL 连接器。

控制台

  1. 在 Google Cloud 控制台中,前往 Knowledge Catalog 页面。

    前往 Knowledge Catalog

  2. 在导航菜单的管理 部分,点击连接器

  3. 点击添加连接

  4. 连接器 列表中,选择 MySQL 卡片。

  5. 数据源详细信息 部分,提供 MySQL 实例的连接详细信息:

    • 对于网络连接,请根据需要选择现有网络连接,或创建一个网络连接。
    • 输入主机端口数据库名称用户名密码
    • 如果使用 TLS,请选择 TLS 模式 并提供受信任的 PEM 证书
    • 对于要导入的 MySQL 元数据对象 ,点击浏览 以选择 对象。
  6. 目标设置 部分中:

    • 点击浏览 ,然后选择现有的 Knowledge Catalog 条目组 以存储导入的元数据,或点击创建新条目组
    • 选择是立即还是稍后设置条目组的权限。设置权限,以便用户可以查看导入的元数据。如果您未在项目级向 BigQuery Data Transfer Service 服务代理 (service-PROJECT_NUMBER@gcp-sa-bigquerydatatransfer.) 授予 Dataplex Entry Group Importer (roles/dataplex.entryGroupImporter) 角色或 dataplex.entryGroups.import 权限,则必须在条目组级授予。
  7. 连接器配置名称 部分的显示名称 中,输入元数据导入作业的名称 。

  8. 时间表选项 部分,配置元数据导入作业的频率。如果您选择按需 ,则只有当您 手动触发作业时,作业才会运行。

  9. 可选:在通知选项 部分,为作业失败配置电子邮件或 Pub/Sub 通知。

  10. 可选:在高级选项 部分,配置加密设置。如果您选择客户管理的加密密钥 (CMEK),请注意,该密钥用于加密在开始 Knowledge Catalog 元数据导入作业之前暂存的所有临时数据。它不用于加密目标 Knowledge Catalog 条目组中的元数据。

  11. 点击保存

REST

使用 projects.locations.transferConfigs.create 方法。在 TransferConfig 资源中,配置以下字段:

  • dataSourceId 字段设置为 "mysql"
  • metadataDestination 字段中,使用目标 Knowledge Catalog 条目组的资源路径填充 dataplexConfiguration 对象: projects/<var>PROJECT_ID</var>/locations/<var>LOCATION</var>/entryGroups/<var>ENTRY_GROUP_ID</var>

创建作业后,Knowledge Catalog 会根据您的配置安排首次运行,您也可以手动启动作业。

搜索和查看 MySQL 元数据

  1. 在 Google Cloud 控制台中,前往 Knowledge Catalog 搜索 页面。

    前往“搜索”

  2. 过滤条件 面板中,您可以使用 项目系统类型别名 部分来过滤 MySQL 资产。在系统 部分,选择导入的上下文 。选择此过滤条件会打开托管连接器 子部分。选择 MySQL 以过滤所有 MySQL 元数据。

  3. 您可以使用搜索字段执行搜索查询。您可以执行关键字搜索或自然语言搜索。例如,如需通过关键字搜索查看所有 MySQL 表,请输入 system=MYSQL AND type=TABLE

    如需详细了解如何搜索资源,请参阅在 Knowledge Catalog中搜索资源。如需详细了解可在搜索字段中使用的 表达式,请参阅 Knowledge Catalog 的 搜索语法

  4. 您还可以使用 LookupContext API 为特定 MySQL 资源检索 LLM 上下文。

后续步骤