1. 概述
CDC(Change Data Capture),即資料變更抓取,透過為源端資料源開啟CDC,可實現資料源的實時資料同步以及資料表的 DDL 同步。
本章節主要介紹如何為 MySQL 資料庫開啟 Binlog 模式 CDC 功能。其中,FDL 支援的 Binlog 模式為 row 格式。
2. 操作步驟
2.1 確認當前使用的資料庫版本
確認是否為資料管道同步任務所支援的版本。
當前僅支援 MYSQL 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 可修改為自己資料庫的使用者。