本文档介绍了如何使用 Knowledge Catalog 连接器将元数据从 MySQL 导入 Knowledge Catalog(以前称为 Dataplex Universal Catalog)。
此连接器支持托管在本地、Cloud SQL 或其他云环境中的 MySQL 实例。
您必须先完成以下任务,然后才能从 MySQL 导入元数据:
IAM 角色和权限
如需创建和管理 Knowledge Catalog 连接器作业,您需要具有 Identity and Access Management (IAM) 角色,这些角色可授予 Knowledge Catalog 和 BigQuery Data Transfer Service 的权限。
如需获得配置 MySQL 连接器所需的权限,请让您的管理员为您授予以下 IAM 角色:
- 如需创建和管理条目组:项目的 Dataplex Catalog Admin
(
roles/dataplex.catalogAdmin)、Dataplex Catalog Editor (roles/dataplex.catalogEditor) 或 Dataplex Entry Group Owner (roles/dataplex.entryGroupOwner)。 - 如需创建和管理 BigQuery Data Transfer Service 转移作业:BigQuery Admin
(
roles/bigquery.admin)。 - 如需在 Cloud Logging 中查看日志:项目的 Logs Viewer
(
roles/logging.viewer)。
此外,您还必须向 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。
MySQL 前提条件
确保满足 MySQL 转移作业的前提条件。如需了解详情,请参阅 BigQuery Data Transfer Service 文档中的 MySQL 前提条件。
除了 BigQuery Data Transfer Service 前提条件之外,您的 MySQL 数据库还必须满足以下元数据提取要求:
- 最低版本: MySQL 8.0 或更高版本。
- 最低所需权限: 提取工具需要特定权限才能成功查询
INFORMATION_SCHEMA并收集元数据。
这些权限可确保涵盖以下元数据:
- 实例和数据库信息: 主机名、端口、版本和架构配置。
- 表和列: 核心结构、数据类型和运营元数据,例如大小和行数。
- 索引和分区: 二级索引、分区方法和表达式。
- 视图: 虚拟表结构和定义。
- 例程: 存储过程、函数及其参数。
- 限制条件: 详细的主键、外键、唯一性和检查限制条件。
- 触发器: 触发器定义和事件时间。
如需授予这些权限,请运行以下 SQL 脚本。
创建用户:
CREATE USER 'USERNAME'@'%' IDENTIFIED BY 'PASSWORD';授予元数据访问权限。您可以为单个目标数据库或实例上的所有数据库授予访问权限。
如需为单个目标数据库或架构授予访问权限,请执行以下操作:
GRANT SELECT, SHOW VIEW, REFERENCES, EXECUTE, TRIGGER ON DATABASE_NAME.* TO 'USERNAME'@'%';或者,如需为实例上的所有数据库授予访问权限,请执行以下操作:
GRANT SELECT, SHOW VIEW, REFERENCES, EXECUTE, TRIGGER ON *.* TO 'USERNAME'@'%';允许提取工具列出实例上的所有可用数据库:
GRANT SHOW DATABASES ON *.* TO 'USERNAME'@'%';应用更改:
FLUSH PRIVILEGES;
替换以下内容:
USERNAME:您要配置的数据库用户。PASSWORD:数据库用户的密码。DATABASE_NAME:您要访问的 MySQL 数据库的名称。
网络前提条件
如需通过 Private Service Connect 进行连接,您需要使用网络连接,以便在专用网络中使用专用 IP 地址安全地连接到 外部数据库或第三方云数据源,从而让 BigQuery Data Transfer Service 访问您的数据库。
如果您使用公共 IP 地址连接到本地环境或云托管实例,则不需要网络连接。
配置 MySQL 连接器
使用 Google Cloud 控制台或 API 配置 MySQL 连接器。
控制台
在 Google Cloud 控制台中,前往 Knowledge Catalog 页面。
在导航菜单的管理 部分,点击连接器 。
点击添加连接 。
在连接器 列表中,选择 MySQL 卡片。
在数据源详细信息 部分,提供 MySQL 实例的连接详细信息:
- 对于网络连接,请根据需要选择现有网络连接,或创建一个网络连接。
- 输入主机、端口、数据库名称、用户名和 密码。
- 如果使用 TLS,请选择 TLS 模式 并提供受信任的 PEM 证书 。
- 对于要导入的 MySQL 元数据对象 ,点击浏览 以选择 对象。
在目标设置 部分中:
- 点击浏览 ,然后选择现有的 Knowledge Catalog 条目组 以存储导入的元数据,或点击创建新条目组 。
- 选择是立即还是稍后设置条目组的权限。设置权限,以便用户可以查看导入的元数据。如果您未在项目级向 BigQuery Data Transfer Service 服务代理 (
service-PROJECT_NUMBER@gcp-sa-bigquerydatatransfer.) 授予 Dataplex Entry Group Importer (roles/dataplex.entryGroupImporter) 角色或dataplex.entryGroups.import权限,则必须在条目组级授予。
在连接器配置名称 部分的显示名称 中,输入元数据导入作业的名称 。
在时间表选项 部分,配置元数据导入作业的频率。如果您选择按需 ,则只有当您 手动触发作业时,作业才会运行。
可选:在通知选项 部分,为作业失败配置电子邮件或 Pub/Sub 通知。
可选:在高级选项 部分,配置加密设置。如果您选择客户管理的加密密钥 (CMEK),请注意,该密钥用于加密在开始 Knowledge Catalog 元数据导入作业之前暂存的所有临时数据。它不用于加密目标 Knowledge Catalog 条目组中的元数据。
点击保存 。
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 元数据
在 Google Cloud 控制台中,前往 Knowledge Catalog 搜索 页面。
在过滤条件 面板中,您可以使用 项目 、系统 和类型别名 部分来过滤 MySQL 资产。在系统 部分,选择导入的上下文 。选择此过滤条件会打开托管连接器 子部分。选择 MySQL 以过滤所有 MySQL 元数据。
您可以使用搜索字段执行搜索查询。您可以执行关键字搜索或自然语言搜索。例如,如需通过关键字搜索查看所有 MySQL 表,请输入
system=MYSQL AND type=TABLE。如需详细了解如何搜索资源,请参阅在 Knowledge Catalog中搜索资源。如需详细了解可在搜索字段中使用的 表达式,请参阅 Knowledge Catalog 的 搜索语法。
您还可以使用 LookupContext API 为特定 MySQL 资源检索 LLM 上下文。
后续步骤
- 了解如何管理连接器作业。