全部產品
Search
文件中心

Dataphin:配置MySQL資料來源

更新時間:Jan 25, 2025

配置即時同步MySQL的資料或使用Flink SQL讀取MySQL CDC資料前,需要參考本文配置MySQL的帳號許可權並開啟MySQL的Binlog。

使用限制

Dataphin的資料即時整合MySQL資料是基於即時訂閱MySQL Binlog實現的,即時同步MySQL資料目前僅支援配置MySQL資料來源為RDS的5.x8.x版本的MySQL,不支援配置為DRDS的MySQL

操作步驟

  1. 建立帳號並配置帳號許可權。

    您需要規劃一個資料庫的登入帳號用於後續執行操作,此帳號需要擁有資料庫的 SELECTREPLICATION SLAVEREPLICATION CLIENT許可權。

    1. 建立帳號。

      您可以參考以下命令為資料庫建立帳號。

      CREATE USER 'username'@'host' IDENTIFIED BY 'password';
    2. 配置許可權。

      您可以參考以下命令為帳號添加此許可權,或直接給帳號賦予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語句為全域許可權,不能指定授權同步帳號對目標資料庫的指定表擁有相關許可權。

  2. 開啟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