將 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 內連線到資料庫。
在
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 連接器:Debezium 檔。
啟用 binlog
您必須啟用 MySQL 複寫的二進位記錄。 二進位記錄事務歷史記錄事務更新,以供復寫工具傳播變更。
在適用於 MySQL 的 Azure 資料庫帳戶的 Azure 入口網站頁面中,在左側導覽中選取 [設定] 下的 [伺服器參數]。
在 [ 伺服器參數] 頁面上,設定下列屬性,然後選取 [ 儲存]。
針對 [binlog_row_image],選取 [ 完整]。
針對 binlog_expire_logs_seconds,設定服務在清除二進位記錄檔之前等候的秒數。 設定值以符合環境的需求,例如 86400。
將 Azure MySQL DB (CDC) 新增為來源
如果您尚未將任何來源新增至事件串流,請選取 [ 使用外部來源 ] 圖格。
如果您要將來源新增至已發行的事件串流,請切換至 [編輯 模式],選取 功能區上的 [新增來源 ],然後選取 [ 外部來源]。
在 [選取數據源] 頁面上,搜尋並選取 [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 位置讀取。 因此,建議為每個讀取器設定不同的伺服器標識符。
在 [ 檢閱 + 連線 ] 頁面上,檢閱 Azure MySQL DB CDC 來源的摘要之後,選取 [ 新增 ] 以完成設定。
注意
一個 Eventstream 的來源和目的地數目上限為 11。
檢視更新的事件串流
您會看到 Azure MySQL DB (CDC) 來源以編輯模式新增至您的Eventstream。
選取 [發佈 ] 以發佈變更,並開始將 Azure MySQL DB CDC 資料串流至Eventstream。
相關內容
其他連接器: