共用方式為


將 My SQL 資料庫 CDC 來源新增至 Eventstream

注意

本文包含 SLAVE 一詞的參考,Microsoft 已不再使用該字詞。 從軟體中移除該字詞時,我們也會將其從本文中移除。

本文說明如何將適用於 MySQL 的 Azure 資料庫異動資料擷取來源新增至 Eventstream。 適用於 Microsoft Fabric 事件串流的 Azure MySQL Database 異動資料擷取 (CDC) 來源連接器可讓您擷取適用於 MySQL 的 Azure 資料庫的資料庫中目前資料的快照集。

您可以指定要監視的資料表,而 eventstream 會記錄資料表的任何未來資料列層級變更。 在 Eventstream 中擷取變更之後,您可以即時處理此 CDC 資料,並將其傳送至 Fabric 中的不同目的地,以進行進一步處理或分析。

注意

工作區容量的下列區域不支援此來源: 美國西部 3瑞士西部

必要條件

  • 在 Fabric 容量授權模式中存取工作區,或具有參與者或更高許可權的試用版授權模式。
  • 存取適用於 MySQL 的 Azure 資料庫 - 彈性伺服器的執行個體。
  • 您的 MySQL 資料庫必須可公開存取,且不可位於防火牆後方或在 Azure 虛擬網路中受保護。
  • 如果您沒有 eventstream, 請建立 eventstream

設定 MySQL DB

連接器會使用 Debezium MySQL 連接器來擷取 適用於 MySQL 的 Azure 資料庫 資料庫中的變更。 您必須在傳訊連接器可從中擷取變更的所有資料庫上,定義具有適當權限的 MySQL 使用者。 您可以直接使用 系統管理員用戶 連線到通常具有適當權限的資料庫,如下所示。 若要建立新使用者,或請遵循下列步驟

注意

新的使用者或系統管理員帳戶和對應的密碼將用於稍後在 Eventstream 內連線到資料庫。

  1. mysql 命令提示字元中,建立 MySQL 使用者:

    mysql> CREATE USER 'user'@'%' IDENTIFIED BY 'password';
    
  2. 將所需的權限授與使用者:

    mysql> GRANT SELECT, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'user'@'%';
    
  3. 完成使用者的權限:

    mysql> FLUSH PRIVILEGES;
    

若要確認使用者或系統管理員是否已授與必要的權限,請執行下列命令,然後顯示上述步驟 2 中的必要權限。

SHOW GRANTS FOR user;

如需將必要權限授與使用者的詳細資訊,請參閱 MySQL 的 Debezium 連接器:Debezium 檔

啟用 binlog

您必須啟用 MySQL 複寫的二進位記錄。 二進位記錄事務歷史記錄事務更新,以供復寫工具傳播變更。

  1. 在適用於 MySQL 的 Azure 資料庫帳戶的 Azure 入口網站頁面中,在左側導覽中選取 [設定] 下的 [伺服器參數]

  2. 在 [ 伺服器參數] 頁面上,設定下列屬性,然後選取 [ 儲存]。

    伺服器參數下複寫之 binlog 設定的螢幕擷取畫面。

將 Azure MySQL DB (CDC) 新增為來源

如果您尚未將任何來源新增至事件串流,請選取 [ 使用外部來源 ] 圖格。

顯示 [使用外部來源] 圖格選取項目的螢幕快照。

如果您要將來源新增至已發行的事件串流,請切換至 [編輯 模式],選取 功能區上的 [新增來源 ],然後選取 [ 外部來源]。

顯示 [將來源新增至外部來源] 功能選取項目的螢幕快照。

在 [選取數據源] 頁面上,搜尋並選取 [MySQL DB (CDC)] 圖格上的 [連線]。

顯示選取 MySQL DB (CDC) 作為 [取得事件精靈] 中來源類型的螢幕快照。

設定並連線到 Azure MySQL DB (CDC)

  1. 在 [連線] 畫面的 [連線] 底下,選取 [新增連線] 以建立雲端連線。

    顯示 [連線] 頁面的螢幕快照。

  2. 輸入下列 Azure MySQL DB 的 [連線設定 ] 和 [連線認證 ],然後選取 [ 連線]。

    • 伺服器:適用於 MySQL 的 Azure 資料庫資料庫的伺服器位址,例如 my-mysql-server.mysql.database.azure.com

    • 資料庫:資料庫名稱,例如 my_database

    • 線上名稱:自動產生,或者您可以輸入此連線的新名稱。

    • 使用者名稱和密碼:輸入 適用於 MySQL 的 Azure 資料庫 資料庫的認證。 請確定您輸入 伺服器管理員帳戶以授與必要權限所建立的用戶帳戶。

      Azure MySQL DB (CDC) 連線設定的螢幕擷取畫面。

  3. 輸入下列資訊來設定 Azure MySQL DB CDC 資料源,然後選取 [ 下一步]。

    • Table(s):輸入以逗號分隔的資料表名稱清單。 每個資料表名稱皆必須遵循 <database name>.<table name> 格式,例如 my_database.users

    • 伺服器標識碼:輸入 MySQL 叢集中每個伺服器和復寫用戶端的唯一值。 預設值為 1000。

    • 埠:保留預設值不變。

      針對 Azure MySQL DB (CDC) 連線選取 [資料表]、[伺服器 ID] 和 [連接埠] 的螢幕擷取畫面。

    您也可以在右側的 [串流詳細數據] 區段中選取 [來源名稱] 的 [鉛筆] 按鈕,以編輯來源名稱

    注意

    為每個讀取器設定不同的伺服器識別碼。 讀取 binlog 的每個 MySQL 資料庫用戶端都應該有唯一標識碼,稱為伺服器識別碼。 MySQL 伺服器會使用此標識符來維護網路連線和 binlog 位置。 共用相同伺服器識別碼的不同作業可能會導致從錯誤的 binlog 位置讀取。 因此,建議為每個讀取器設定不同的伺服器標識符。

  4. 在 [ 檢閱 + 連線 ] 頁面上,檢閱 Azure MySQL DB CDC 來源的摘要之後,選取 [ 新增 ] 以完成設定。

    顯示 [檢閱 + 連線] 頁面的螢幕快照,並已選取 [新增] 按鈕。

注意

一個 Eventstream 的來源和目的地數目上限為 11

檢視更新的事件串流

  1. 您會看到 Azure MySQL DB (CDC) 來源以編輯模式新增至您的Eventstream

    [編輯] 模式中已新增的 Azure MySQL DB CDC 來源螢幕擷取畫面,其中的 [發佈] 按鈕已反白提示。

  2. 選取 [發佈 ] 以發佈變更,並開始將 Azure MySQL DB CDC 資料串流至Eventstream。

    在即時模式中新增 Azure MySQL DB CDC 來源的螢幕快照。

其他連接器: