將 My SQL 資料庫 CDC 來源新增至事件串流 (預覽)
注意
本文包含 SLAVE
一詞的參考,Microsoft 已不再使用該字詞。 從軟體中移除該字詞時,我們也會將其從本文中移除。
本文說明如何將 適用於 MySQL 的 Azure 資料庫 異動數據擷取來源新增至事件數據流。 適用於 Microsoft Fabric 事件數據流的 Azure My SQL 資料庫 異動數據擷取 (CDC) 來源連接器可讓您擷取 適用於 MySQL 的 Azure 資料庫 資料庫中目前數據的快照集。
您可以指定要監視的數據表,而 eventstream 會記錄數據表的任何未來數據列層級變更。 在事件數據流中擷取變更之後,您可以即時處理此 CDC 數據,並將其傳送至 Fabric 中的不同目的地,以進行進一步處理或分析。
重要
Fabric 事件數據流的增強功能目前為預覽狀態。
注意
工作區容量的下列區域不支援此來源: 美國西部 3、 瑞士西部。
必要條件
- 具有參與者或更高許可權的網狀架構進階工作區存取權。
- 存取 適用於 MySQL 的 Azure 資料庫 實例 - 彈性伺服器。
- 您的 MySQL 資料庫必須可公開存取,且不能位於防火牆後方或虛擬網路中受到保護。
注意
一個事件數據流的來源和目的地數目上限為 11。
設定 MySQL DB
連接器會使用 Debezium MySQL 連接器來擷取 適用於 MySQL 的 Azure 資料庫 資料庫中的變更。 您必須在傳訊連接器可從中擷取變更的所有資料庫上,定義具有適當許可權的 MySQL 使用者。 您可以直接使用 系統管理員用戶 連線到通常具有適當許可權的資料庫,如下所示。 或者您可以遵循下列步驟來建立新的使用者
注意
新的使用者或系統管理員帳戶和對應的密碼將用於稍後在 Eventstream 內連線到資料庫。
在
mysql
命令提示字元中,建立 MySQL 使用者:mysql> CREATE USER 'user'@'%' IDENTIFIED BY 'password';
將所需的權限授與使用者:
mysql> GRANT SELECT, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'user'@'%';
完成使用者的權限:
mysql> FLUSH PRIVILEGES;
若要確認使用者或系統管理員是否已授與必要的許可權,請執行下列命令,然後顯示上述步驟 2 中的必要許可權。
SHOW GRANTS FOR user;
如需將必要許可權授與使用者的詳細資訊,請參閱 MySQL 的 Debezium 連接器::D ebezium 檔。
啟用 binlog
您必須啟用 MySQL 複寫的二進位記錄。 二進位記錄事務歷史記錄事務更新,以供復寫工具傳播變更。
在 適用於 MySQL 的 Azure 資料庫 帳戶的 [Azure 入口網站] 頁面上,選取左側導覽中 [設定] 底下的 [伺服器參數]。
在 [ 伺服器參數] 頁面上,設定下列屬性,然後選取 [ 儲存]。
針對 [binlog_row_image],選取 [ 完整]。
針對 binlog_expire_logs_seconds,設定服務在清除二進位記錄檔之前等候的秒數。 設定值以符合您環境的需求,例如 86400。
將 Azure MySQL DB (CDC) 新增為來源
在 [網狀架構即時智慧] 中,選取 [Eventstream ] 以建立新的事件串流。 請確定 [增強功能][預覽] 選項已啟用。
在下一個畫面上,選取 [ 新增外部來源]。
設定並連線到 Azure MySQL DB (CDC)
在 [ 選取數據源] 畫面上,選取 [Azure MySQL DB [CDC] 作為數據源。
在 [連線] 畫面的 [連線] 底下,選取 [新增連線] 以建立雲端連線。
輸入下列 Azure MySQL DB 的 [連線設定 ] 和 [連線認證 ],然後選取 [ 連線]。
- 伺服器:適用於 MySQL 的 Azure 資料庫 資料庫的伺服器位址,例如 my-mysql-server.mysql.database.azure.com。
- 資料庫: 資料庫名稱,例如 my_database。
- 線上名稱:自動產生,或者您可以輸入此連線的新名稱。
- 使用者名稱和密碼:輸入 適用於 MySQL 的 Azure 資料庫 資料庫的認證。 請確定您輸入 伺服器管理員帳戶 或 以授與必要許可權所建立的用戶帳戶。
輸入下列資訊來設定 Azure MySQL DB CDC 數據源,然後選取 [ 下一步]。
- Table(s):輸入以逗號分隔的數據表名稱清單。 每個數據表名稱都必須遵循 格式
<database name>.<table name>
,例如 my_database.users。 - 伺服器標識碼:輸入 MySQL 叢集中每個伺服器和復寫用戶端的唯一值。 預設值為 1000。
- 埠:保留預設值不變。
注意
為每個讀取器設定不同的伺服器識別碼。 讀取 binlog 的每個 MySQL 資料庫用戶端都應該有唯一標識碼,稱為伺服器識別碼。 MySQL 伺服器會使用此標識符來維護網路連線和 binlog 位置。 共用相同伺服器識別碼的不同作業可能會導致從錯誤的 binlog 位置讀取。 因此,建議為每個讀取器設定不同的伺服器標識符。
- Table(s):輸入以逗號分隔的數據表名稱清單。 每個數據表名稱都必須遵循 格式
檢閱 Azure MySQL DB CDC 來源的摘要之後,選取 [ 新增 ] 以完成設定。
您會看到 Azure MySQL DB (CDC) 來源以編輯模式新增至您的事件串流。
選取 [發佈 ] 以發佈變更,並開始將 Azure MySQL DB CDC 數據串流至事件串流。
相關內容
其他連接器:
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應