1. 概述
CDC(Change Data Capture),即資料變更抓取,透過為源端資料源開啟CDC,可實現資料源的實時資料同步以及資料表的 DDL 同步。
本章節主要介紹如何為 MySQL 資料庫開啟 Binlog 模式 CDC 功能。其中,FDL 支援的 Binlog 模式為 row 格式。
2. 操作步驟
2.1 確認當前使用的資料庫版本
確認是否為資料管道同步任務所支援的版本。
| FineDataLink 版本 | MySQL 非只讀數據庫版本 |
|---|---|
| 4.2.7.2 之前版本 | 5.5<=适配版本<8.2.0 |
| 4.2.7.2 及之後版本 | 5.5<=适配版本 |
2.2 開啟資料庫 Binlog
由於實時同步對 MySQL 資料庫的讀取方式為 Binlog ,因此需要提前對資料庫開啟 Binlog。
注:範例為 Linux 環境開啟方式。
進入 etc 檔案中,編輯my.cnf 檔案,如下圖所示:
![]()
修改 my.cnf 檔案,增加如下內容:
注1:本範例為 Linux 環境下,若在 windows 環境下部署的 MySQL 則需要修改 my.ini 檔案。
注2:server_id=2,其中2可寫任意數值。

儲存檔案後重啟 MySQL讓配置生效。
輸入show variables like 'log_%',查看日誌是否開啟,如果 log_bin 的值為 on,則日誌開啟,如下圖所示:

同時輸入show variables like 'binlog_%',查看 binlog_row_image 及 binlog_format 值是否分別為 FULL、ROW,如下圖所示:

2.3 給指定帳號開啟複制權限
一般複制帳號需要以下兩個權限:REPLICATION SLAVE 權限、REPLICATION CLIENT 權限。
其中,REPLICATION CLIENT 不可用於建立複制,有該權限時,只是多了可以使用如SHOW SLAVE STATUS、SHOW MASTER STATUS等命令。
1)確定使用者狀態:
複制使用者可以使用 show grants for 帳號來確定複制狀態。
如果回傳值中沒有 replication client 和 replication slave 則需要開啟複制權限。
2)使用以下命令進行權限開啟
範例如下:

然後使用命令:show grants for fdluser,查詢使用者權限狀態,若回傳值中包含下面的權限,則表示權限開啟成功,如下圖所示:
注:此處 fdluser 可修改為自己資料庫的使用者。

