全部產品
Search
文件中心

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

更新時間:Oct 19, 2024

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

適用情境及許可權參考

情境

許可權參考

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

待遷移對象的SELECT許可權。

REPLICATION CLIENT、REPLICATION SLAVE、SHOW VIEW。

建庫建表的許可權,以允許DTS建立庫dts,用於記錄遷移期間的心跳資料。

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

待同步對象的SELECT許可權。

REPLICATION CLIENT、REPLICATION SLAVE、SHOW VIEW。

建庫建表的許可權,以允許DTS建立庫dts,用於記錄同步期間的心跳資料。

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

待訂閱對象的SELECT許可權。

REPLICATION CLIENT、REPLICATION SLAVE、SHOW VIEW。

建庫建表的許可權,以允許DTS建立庫dts,用於記錄訂閱期間的心跳資料。

影響

執行該操作需要重啟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