配置即時同步MySQL的資料或使用Flink SQL讀取MySQL CDC資料前,需要參考本文配置MySQL的帳號許可權並開啟MySQL的Binlog。
使用限制
Dataphin的資料即時整合MySQL資料是基於即時訂閱MySQL Binlog實現的,即時同步MySQL資料目前僅支援配置MySQL資料來源為RDS的5.x或8.x版本的MySQL,不支援配置為DRDS的MySQL。
操作步驟
建立帳號並配置帳號許可權。
您需要規劃一個資料庫的登入帳號用於後續執行操作,此帳號需要擁有資料庫的
SELECT、REPLICATION SLAVE、REPLICATION CLIENT許可權。建立帳號。
您可以參考以下命令為資料庫建立帳號。
CREATE USER 'username'@'host' IDENTIFIED BY 'password';配置許可權。
您可以參考以下命令為帳號添加此許可權,或直接給帳號賦予SUPER許可權。如下執行語句在實際使用時,請替換'同步帳號'為上述建立的帳號。
-- CREATE USER '同步帳號'@'%' IDENTIFIED BY '密碼'; //建立同步帳號並設定密碼,使其可以通過任意主機登入資料庫。%表示任意主機。 GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO '同步帳號'@'%'; //授權同步帳號資料庫的 SELECT, REPLICATION SLAVE, REPLICATION CLIENT許可權。*.*表示授權同步帳號對所有資料庫的所有表擁有上述許可權。您也可以指定授權同步帳號對目標資料庫的指定表擁有上述許可權。例如,授權同步帳號對test資料庫的user表擁有上述許可權,則可以使用GRANT SELECT, REPLICATION CLIENT ON test.user TO '同步帳號'@'%';語句。說明REPLICATION SLAVE語句為全域許可權,不能指定授權同步帳號對目標資料庫的指定表擁有相關許可權。
開啟MySQL的Binlog。
檢查Binlog是否開啟並查詢Binlog格式,操作如下:
使用如下語句檢查Binlog是否開啟。
show variables like "log_bin";返回結果為ON時,表明已開啟Binlog。
如果您使用備用庫同步資料,則還可以通過如下語句檢查Binlog是否開啟。
show variables like "log_slave_updates";返回結果為ON時,表明備用庫已開啟Binlog。
如果返回的結果與上述結果不符,請參考MySQL官方文檔開啟Binlog。使用如下語句查詢Binlog的使用格式。
show variables like "binlog_format";返回結果說明:
返回ROW,表明開啟的Binlog格式為ROW。
返回STATEMENT,表明開啟的Binlog格式為STATEMENT。
返回MIXED,表明開啟的Binlog格式為MIXED。