全部產品
Search
文件中心

Data Transmission Service:為自建MySQL建立帳號並設定binlog

更新時間:Apr 22, 2025

當您DTS任務的源庫為自建MySQL時,為滿足預檢查階段對源庫的要求,保障任務的順利執行,在正式配置之前,您需要在自建MySQL資料庫上建立帳號並設定binlog。

適用情境及許可權參考

情境

許可權參考

源庫為自建MySQL,且要執行增量資料移轉。

  • 待遷移對象的SELECT許可權。

  • REPLICATION CLIENT、REPLICATION SLAVE、SHOW VIEW許可權。

  • 建庫建表的許可權,以允許DTS建立庫test,用於推進Binlog位點。

資料同步的源庫為自建MySQL。

  • 待同步對象的SELECT許可權。

  • REPLICATION CLIENT、REPLICATION SLAVE、SHOW VIEW許可權。

  • 建庫建表的許可權,以允許DTS建立庫test,用於推進Binlog位點。

資料訂閱的源庫為自建MySQL。

  • 待訂閱對象的SELECT許可權。

  • REPLICATION CLIENT、REPLICATION SLAVE、SHOW VIEW許可權。

  • 建庫建表的許可權,以允許DTS建立庫test,用於推進Binlog位點。

影響

執行該操作需要重啟MySQL服務,為避免影響您的業務使用,請在業務低峰期操作。

操作步驟

  1. 登入自建MySQL資料庫。

  2. 在自建MySQL資料庫中建立用於資料移轉/同步的帳號。

    CREATE USER 'username'@'host' IDENTIFIED BY 'password';
    說明
    • username:待建立的帳號。

    • host:允許該帳號登入的主機,如果允許該帳號從任意主機登入資料庫,可以使用百分比符號(%)。

    • password:帳號的密碼。

    例如,建立一個帳號,帳號名為dtsmigration,密碼為Dts123456,並允許從任意主機登入資料庫,命令如下。

    CREATE USER 'dtsmigration'@'%' IDENTIFIED BY 'Dts123456';
  3. 對帳號進行授權操作,所需授與權限請參見適用情境及許可權參考

    • 對帳號授予指定庫表的許可權。

      GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;
    • 對帳號授予建庫建表的許可權。

      GRANT CREATE ON *.* TO 'username'@'host' WITH GRANT OPTION;
    說明
    • privileges:授予該帳號的操作許可權,如SELECT、INSERT、UPDATE等,如果要授予該帳號所有許可權,則使用ALL。

    • databasename:資料庫名。如果要授予該帳號具備所有資料庫的操作許可權,則使用星號(*)。

    • tablename:表名。如果要授予該帳號具備所有表的操作許可權,則使用星號(*)。

    • username:待授權的帳號。

    • host:允許該帳號登入的主機,如果允許該帳號從任意主機登入,則使用百分比符號(%)。

    • WITH GRANT OPTION:授予該帳號使用GRANT命令的許可權,該參數為可選。

    例如,授予dtsmigration帳號具備所有資料庫和表的所有許可權,並允許從任意主機登入資料庫,命令如下。

    GRANT ALL ON *.* TO 'dtsmigration'@'%';
  4. 開啟並設定自建MySQL資料庫的binlog。

    • Linux作業系統操作步驟如下:

      1. 使用vim命令,修改設定檔my.cnf中的如下參數。

        log_bin=mysql_bin
        binlog_format=row
        server_id=2 #建議設定為大於1的整數
        binlog_row_image=full #當自建MySQL的版本大於5.6時,則必須設定該項。
      2. 修改完成後,重啟MySQL進程。

        /etc/init.d/mysqld restart
        說明

        您也可以根據實際情況,使用其他命令或方式進行重啟。

    • Windows作業系統操作步驟如下:

      1. 修改設定檔my.ini中的如下參數。

        log_bin=mysql_bin
        binlog_format=row
        server_id=2 #建議設定為大於1的整數
        binlog_row_image=full #當自建MySQL的版本大於5.6時,則必須設定該項。
      2. 修改完成後,重啟MySQL服務。

        說明

        您可以通過Windows中的服務管理員重啟服務,或使用如下命令重啟服務:

        net stop mysql
        net start mysql