從 MySQL 匯入中繼資料

Knowledge Catalog (舊稱 Dataplex Universal Catalog) 可讓您使用代管連接器,從 MySQL 資料庫擷取中繼資料並匯入項目群組。接著,您就能搜尋、查看及管理 MySQL 資產和其他編目資料,或擷取大型語言模型 (LLM) 的背景資訊。這個連接器支援託管於地端部署、Cloud SQL 或其他雲端環境的 MySQL 執行個體。如要進一步瞭解連接器的運作方式,請參閱「關於中繼資料連接器」。

事前準備

從 MySQL 匯入中繼資料前,請先完成下列工作:

  1. 授予必要的角色和權限。
  2. 啟用 Knowledge Catalog 和 BigQuery 資料移轉服務 API。
  3. 符合 MySQL 必要條件。
  4. 符合網路必要條件。

IAM 角色和權限

如要建立及管理 Knowledge Catalog 連接器工作,您需要具備 Knowledge Catalog 和 BigQuery 資料移轉服務權限的 Identity and Access Management (IAM) 角色。

如要取得設定 MySQL 連接器所需的權限,請要求管理員授予您下列 IAM 角色:

此外,您必須授予 BigQuery 資料移轉服務服務代理程式 (service-PROJECT_NUMBER@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com) dataplex.entryGroups.import 權限或「Dataplex Entry Group Importer」() (roles/dataplex.entryGroupImporter) 角色。您可以在專案層級或項目群組層級授予這個角色。

如要進一步瞭解如何授予角色,請參閱「管理存取權」。

啟用 API

啟用 Knowledge Catalog 和 BigQuery 資料移轉服務 API。

啟用 API

MySQL 必要條件

確認您符合 MySQL 移轉作業的必要條件。詳情請參閱 BigQuery 資料移轉服務說明文件中的「MySQL 必要條件」。

除了 BigQuery 資料移轉服務的必要條件外,您的 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 資料庫名稱。

網路事前準備

如要使用私人網路中的私人 IP 位址,安全地連線至外部資料庫或第三方雲端資料來源,必須透過 Private Service Connect 建立網路連結,BigQuery 資料移轉服務才能存取資料庫。

如果您使用公開 IP 位址連線至地端部署環境或雲端託管執行個體,則不需要網路連結。

設定 MySQL 連接器

使用 Google Cloud 控制台或 API 設定 MySQL 連接器。

控制台

  1. 前往 Google Cloud 控制台的「Knowledge Catalog」頁面。

    前往 Knowledge Catalog

  2. 在導覽選單的「管理」部分中,按一下「連接器」。

  3. 按一下「新增連線」。

  4. 在「連接器」清單中,選取「MySQL」資訊卡。

  5. 在「Data source details」(資料來源詳細資料) 部分,提供 MySQL 執行個體的連線詳細資料:

    • 在「Network attachment」(網路連結) 部分,視需要選取現有的網路連結,或建立一個。
    • 輸入「主機」、「通訊埠」、「資料庫名稱」、「使用者名稱」和「密碼」。
    • 如果使用 TLS,請選取「TLS Mode」(TLS 模式),並提供「Trusted PEM Certificate」(信任的 PEM 憑證)。
    • 在「MySQL metadata objects to import」(要匯入的 MySQL 中繼資料物件) 部分,按一下「Browse」(瀏覽) 選取物件。
  6. 在「Destination settings」(目的地設定) 部分:

    • 按一下「瀏覽」,然後選取現有的「Knowledge Catalog 項目群組」來儲存匯入的中繼資料,或按一下「建立新的項目群組」。
    • 選擇要立即或稍後設定項目群組權限。設定權限,讓使用者可以查看匯入的中繼資料。如果未在專案層級將 Dataplex 項目群組匯入者 (roles/dataplex.entryGroupImporter) 角色或 dataplex.entryGroups.import 權限授予 BigQuery 資料移轉服務服務代理程式 (service-PROJECT_NUMBER@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com),則必須在項目群組層級授予。
  7. 在「Connector config name」(連接器設定名稱) 部分,「Display name」(顯示名稱) 請輸入中繼資料匯入工作的名稱。

  8. 在「Schedule options」(排程選項) 部分,設定中繼資料匯入工作的頻率。如果選取「On-demand」(隨選),則只有在您手動觸發時,工作才會執行。

  9. 選用步驟:在「Notification options」(通知選項) 部分,設定工作失敗時的電子郵件或 Pub/Sub 通知。

  10. 選用:在「Advanced options」(進階選項) 部分,設定加密設定。如果選取客戶自行管理的加密金鑰 (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」「Search」(搜尋) 頁面。

    前往「Search」(搜尋) 頁面

  2. 在「Filters」(篩選器) 面板中,您可以使用「Project」(專案)、「System」(系統) 和「Type aliases」(類型別名) 區段篩選 MySQL 資產。在「System」(系統) 部分,選取「Imported Context」(匯入的情境)。選取這個篩選器後,系統會開啟「Managed Connectors」(代管連接器) 子區段。選取「MySQL」MySQL,篩選出所有 MySQL 中繼資料。

  3. 您可以使用搜尋欄位執行搜尋查詢。您可以執行關鍵字或自然語言搜尋。舉例來說,如要透過關鍵字搜尋查看所有 MySQL 資料表,請輸入 system=MYSQL AND type=TABLE。

    如要進一步瞭解如何搜尋資源,請參閱「在 Knowledge Catalog 中搜尋資源」。如要進一步瞭解可在搜尋欄位中使用的運算式,請參閱「Knowledge Catalog 的搜尋語法」。

  4. 您也可以使用 LookupContext API,擷取特定 MySQL 資源的 LLM 情境。

後續步驟