本文档介绍了如何使用 Knowledge Catalog 连接器将元数据从 MySQL 导入 Knowledge Catalog(以前称为 Dataplex Universal Catalog)。
此连接器支持托管在本地、Cloud SQL 或其他云环境中的 MySQL 实例。
在从 MySQL 导入元数据之前,请完成以下任务:
IAM 角色和权限
如需创建和管理知识目录连接器作业,您需要拥有 Identity and Access Management (IAM) 角色,该角色可授予知识目录和 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 API 和 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;
网络前提条件
通过 Private Service Connect 进行连接时,需要使用网络连接,以便在专用网络中使用专用 IP 地址安全地连接到外部数据库或第三方云数据源,从而让 BigQuery Data Transfer Service 访问您的数据库。
如果您使用公共 IP 地址连接到本地环境或云托管实例,则不需要网络连接。
配置 MySQL 连接器
在 Google Cloud 控制台中,前往 Knowledge Catalog 页面。
在导航菜单中的管理部分,点击连接器。
点击添加连接。
在连接器列表中,选择 MySQL 卡片。
在数据源详细信息部分,提供 MySQL 实例的连接详细信息:
- 对于网络连接,请根据需要选择现有网络连接或创建一个。
- 输入主机、端口、数据库名称、用户名和密码。
- 如果使用 TLS,请选择 TLS 模式并提供受信任的 PEM 证书。
- 在 MySQL metadata objects to import(要导入的 MySQL 元数据对象)部分,点击浏览以选择对象。
在目标设置部分中:
- 点击浏览,然后选择一个现有的知识目录条目组来存储导入的元数据,或点击创建新条目组。
- 选择是立即还是稍后设置条目组权限。设置权限,以便用户可以查看导入的元数据。如果您未在项目级层向 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 条目组中的元数据。
点击保存。
创建作业后,Knowledge Catalog 会根据您的配置安排首次运行,您也可以手动启动作业。
后续步骤
- 了解如何管理连接器作业。