本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
您可以使用 My SQL相容資料庫 (MySQL 或 MariaDB) 做為 同質資料遷移 中的來源 AWS DMS。在這種情況下,您的來源資料提供者可以是內部部署、Amazon EC2或 RDS MySQL 或 MariaDB 資料庫。
若要執行同質資料遷移,您的資料庫使用者必須具有複製所有來源資料表和次要物件的 SELECT
權限。對於變更資料擷取 (CDC) 任務,此使用者也必須具有 REPLICATION CLIENT
(BINLOG MONITOR
適用於 10.5.2 之後的 MariaDB 版本) 和 REPLICATION SLAVE
權限。對於完全載入的資料遷移,您不需要這兩個權限。
使用下列指令碼,在您的 MySQL 資料庫中建立具有所需許可的資料庫使用者。為您遷移到的所有資料庫執行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受管 MySQL 資料庫的特定組態先決條件。
使用自我管理的 MySQL 相容資料庫做為同質資料遷移的來源
本節說明如何設定在內部部署或 Amazon EC2執行個體上託管的 MySQL 相容資料庫。
檢查來源 MySQL 或 MariaDB 資料庫的版本。請確定 AWS DMS 支援您的來源 MySQL 或 MariaDB 資料庫版本,如中所述DMS 同質資料遷移的來源。
若要使用 CDC,請務必啟用二進位記錄。若要啟用二進位記錄,請在 MySQL 或 MariaDB 資料庫的 my.ini
(Windows) 或 my.cnf
(UNIX) 檔案中設定下列參數。
參數 |
Value |
---|---|
|
將此參數值設為 1 或更大。 |
|
將路徑設定到二進位日誌檔,例如 |
|
將此參數設為 |
|
將此參數值設為 1 或更大。為避免過度使用磁碟空間,建議您不要使用預設值 0。 |
|
將此參數設為 |
|
將此參數設為 |
|
|
使用 AWS管理的我的SQL相容資料庫做為 中同質資料遷移的來源 AWS DMS
本節說明如何設定 Amazon RDS for MySQL 和 Amazon RDS for MariaDB 資料庫執行個體。
當您使用 AWS受管 MySQL 或 MariaDB 資料庫做為 中同質資料遷移的來源時 AWS DMS,請確定您有下列 的先決條件CDC:
-
若要RDS為 MySQL 和 MariaDB 啟用二進位日誌,請在執行個體層級啟用自動備份。若要啟用 Aurora MySQL 叢集的二進位日誌,請變更參數群組
binlog_format
中的變數。您不需要為 Aurora MySQL 叢集啟用自動備份。接下來將
binlog_format
參數設為ROW
。如需設定自動備份的詳細資訊,請參閱《Amazon RDS使用者指南》中的啟用自動備份。
如需為 Amazon RDS for MySQL 或 MariaDB 資料庫設定二進位記錄的詳細資訊,請參閱《Amazon RDS使用者指南》中的設定二進位記錄格式。
如需為 Aurora MySQL 叢集設定二進位記錄的詳細資訊,請參閱如何為 Amazon Aurora MySQL 叢集開啟二進位記錄?
。 -
確保二進位日誌可供 使用 AWS DMS。由於 AWS受管 MySQL 和 MariaDB 資料庫會盡快清除二進位日誌,因此您應該增加日誌保持可用的時間長度。例如,執行下列命令將日誌保留期增加為 24 小時。
call mysql.rds_set_configuration('binlog retention hours', 24);
-
將
binlog_row_image
參數設為Full
。 -
將
binlog_checksum
參數設為NONE
。 -
如果您使用 Amazon RDS MySQL 或 MariaDB 複本做為來源,請在僅供讀取複本上啟用備份,並確保
log_slave_updates
參數設定為TRUE
。
使用 MySQL 相容資料庫做為同質資料遷移來源的限制
使用 MySQL 相容資料庫做為同質資料遷移來源時,適用下列限制:
同質遷移任務不支援 MariaDB 物件 (例如序列)。
從 MariaDB 遷移至 Amazon RDS MySQL/Aurora MySQL 可能會因為不相容的物件差異而失敗。
用於連線到資料來源的使用者名稱具有以下限制:
長度可有 2 到 64 個字元。
不能有空格。
可以包含以下字元:a-z、A-Z、0-9 和底線 (_)。
必須以 a-z 或 A-Z 開頭。
您用來連線到資料來源的密碼具有以下限制:
長度可有 1 到 128 個字元。
不能包含下列任何項目:單引號 (')、雙引號 (「)、分號 (;) 或空格。
AWS DMS 即使來源物件已加密,同質資料遷移也會在目標 Amazon RDS執行個體上建立未加密的 MySQL 和 MariaDB 物件。 RDS for MySQL 不支援加密物件所需的 MySQL keyring_aws AWS Keyring 外掛程式。請參閱 Amazon RDS使用者指南中的 MySQL Keyring 外掛程式不支援的文件