使用 My SQL 相容資料庫做為同質資料移轉的來源 AWS DMS - AWS Database Migration Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 My SQL 相容資料庫做為同質資料移轉的來源 AWS DMS

您可以使用我的SQL兼容數據庫(我的SQL或 MariaDB)作為中的源代碼。同質資料遷移 AWS DMS在這種情況下,您的來源資料提供者可以是現場部署EC2、Amazon 或 RDS My SQL 或 MariaDB 資料庫。

若要執行同質資料遷移,您的資料庫使用者必須具有複製所有來源資料表和次要物件的 SELECT 權限。對於變更資料擷取 (CDC) 工作,此使用者還必須擁有 REPLICATION CLIENT (BINLOG MONITOR適用於 10.5.2 以後的 MariaDB 版本) 和權限。REPLICATION SLAVE對於完全載入的資料遷移,您不需要這兩個權限。

使用下列指令碼建立具有 [我的資料庫] 所需權限的SQL資料庫使用者。針對您移轉至的所有資料庫執行GRANT查詢 AWS。

CREATE USER 'your_user'@'%' IDENTIFIED BY 'your_password'; GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'your_user'@'%'; GRANT SELECT, RELOAD, LOCK TABLES, SHOW VIEW, EVENT, TRIGGER ON *.* TO 'your_user'@'%'; GRANT BACKUP_ADMIN ON *.* TO 'your_user'@'%';

在前面的例子中,替換每個 user input placeholder 使用您自己的信息。如果您的源我的SQL數據庫版本低於 8.0,則可以跳過該GRANT BACKUP_ADMIN命令。

使用以下指令碼在 MariaDB 資料庫中建立具有所需許可的資料庫使用者。針對您移轉至的所有資料庫執行GRANT查詢 AWS。

CREATE USER 'your_user'@'%' IDENTIFIED BY 'your_password'; GRANT SELECT, RELOAD, LOCK TABLES, REPLICATION SLAVE, BINLOG MONITOR, SHOW VIEW ON *.* TO 'your_user'@'%';

在前面的例子中,替換每個 user input placeholder 使用您自己的信息。

下列各節說明自我管理和 AWS受管理的 My SQL 資料庫的特定組態先決條件。

使用自我管理的 My SQL 相容資料庫作為同質資料移轉的來源

本節說明如何設定在現場部署或 Amazon EC2 執行個體上託管的 My SQL 相容資料庫。

檢查你的源我的SQL或 MariaDB 數據庫的版本。請確定 AWS DMS 支援您的來源 My SQL 或 MariaDB 資料庫版本,如中所述。DMS同質資料移轉的來源

若要使用CDC,請務必啟用二進位記錄。若要啟用二進位記錄,請在我SQL或 MariaDB 資料庫的 my.ini my.cnf (WindowsUNIX) 或 () 檔案中設定下列參數。

參數

Value

server-id

將此參數值設為 1 或更大。

log-bin

將路徑設定到二進位日誌檔,例如 log-bin=E:\MySql_Logs\BinLog。不要包含副檔名。

binlog_format

將此參數設為 ROW。我們建議在複寫期間進行此設定,因為在某些情況下,當 binlog_format 設定為 STATEMENT 時,可能會導致資料複製到目標時產生不一致。當 binlog_format 設定為 MIXED 時,由於資料庫引擎會自動切換到 STATEMENT 型記錄,因此資料庫引擎也會將類似的不一致資料寫入目標。

expire_logs_days

將此參數值設為 1 或更大。為避免過度使用磁碟空間,建議您不要使用預設值 0。

binlog_checksum

將此參數設為 NONE

binlog_row_image

將此參數設為 FULL

log_slave_updates

TRUE如果您使用的是我的SQL或 MariaDB 的副本作為源設置此參數。

使用受 AWS管理的 My SQL 相容資料庫做為同質資料移轉的來源 AWS DMS

本節說明如何針RDS對 MariaDB 資料庫執行個體RDS為我的SQL和 Amazon 設定 Amazon。

當您在中使用 AWS-managed My SQL 或 MariaDB 資料庫做為同質資料移轉的來源時 AWS DMS,請確定您具有下列先決條件:CDC

  • 若要為 My SQL 和 MariaDB 啟用二進位記錄,RDS請在執行個體層級啟用自動備份。若要為 Aurora My SQL 叢集啟用二進位記錄,請變更參數群組binlog_format中的變數。您不需要為 Aurora 我的SQL叢集啟用自動備份。

    接下來將 binlog_format 參數設為 ROW

    如需有關設定自動備份的詳細資訊,請參閱 Amazon RDS 使用者指南中的啟用自動備份

    如需針對 My SQL 或 MariaDB 資料庫設定 Amazon 二進位記錄的RDS詳細資訊,請參閱 Amazon RDS 使用者指南中的設定二進位記錄格式

    如需有關為 Aurora 我的SQL叢集設定二進位記錄的詳細資訊,請參閱如何為 Amazon Aurora 我的SQL叢集開啟二進位記錄?

  • 請確定二進位記錄可供使用 AWS DMS。由於 AWS-managed My SQL 和 MariaDB 資料庫會盡快清除二進位記錄檔,因此您應該增加記錄檔保持可用的時間長度。例如,執行下列命令將日誌保留期增加為 24 小時。

    call mysql.rds_set_configuration('binlog retention hours', 24);
  • binlog_row_image 參數設為 Full

  • binlog_checksum 參數設為 NONE

  • 如果您使用 Amazon RDS My SQL 或 MariaDB 複本做為來源,請在僅供讀取複本上啟用備份,並確保log_slave_updates參數設定為。TRUE

使用 My SQL 相容資料庫做為同質資料移轉來源的限制

使用 My SQL 相容資料庫作為同質資料移轉的來源時,會套用下列限制:

  • 同質遷移任務不支援 MariaDB 物件 (例如序列)。

  • 從 MariaDB 遷移到 Amazon RDS My SQL /Aurora 我的SQL可能會因為不兼容的對象差異而失敗。

  • 用於連線到資料來源的使用者名稱具有以下限制:

    • 長度可有 2 到 64 個字元。

    • 不能有空格。

    • 可以包含以下字元:a-z、A-Z、0-9 和底線 (_)。

    • 必須以 a-z 或 A-Z 開頭。

  • 您用來連線到資料來源的密碼具有以下限制:

    • 長度可有 1 到 128 個字元。

    • 不能包含下列任何項目:單引號 (')、雙引號 (「)、分號 (;) 或空格。