

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

# MySQL 評估
<a name="CHAP_Tasks.AssessmentReport.MySQL"></a>

本節說明使用 MySQL、Aurora MySQL 相容版本或 Aurora MySQL 相容版本無伺服器來源端點之遷移任務的個別預遷移評估。

**Topics**
+ [驗證二進位日誌交易壓縮是否已停用](#CHAP_Tasks.AssessmentReport.MySQL.BinaryLogTransaction)
+ [驗證 DMS 使用者是否具有來源資料庫的 REPLICATION CLIENT 和 REPLICATION SLAVE 許可](#CHAP_Tasks.AssessmentReport.MySQL.ReplicationClientPermissions)
+ [驗證 DMS 使用者是否具有來源資料庫資料表的 SELECT 許可](#CHAP_Tasks.AssessmentReport.MySQL.DMSUserSelectPermissions)
+ [驗證來源資料庫中的 server\$1id 是否設定為 1 或更高](#CHAP_Tasks.AssessmentReport.MySQL.ServerID)
+ [驗證 DMS 使用者是否具有 MySQL 資料庫作為目標的必要許可](#CHAP_Tasks.AssessmentReport.MySQL.UserNecessaryPermissions)
+ [驗證是否已為來源資料庫設定自動移除二進位日誌](#CHAP_Tasks.AssessmentReport.MySQL.BinaryLogAutomaticRemoval)
+ [驗證只有在 `BatchApplyEnabled` 設為 true 時，才會使用有限的 LOB 模式](#CHAP_Tasks.AssessmentReport.MySQL.LimitedLOBMode)
+ [驗證資料表是否使用 Innodb 以外的儲存引擎](#CHAP_Tasks.AssessmentReport.MySQL.Innodb)
+ [驗證是否在用於遷移的任何資料表上啟用自動遞增](#CHAP_Tasks.AssessmentReport.MySQL.AutoIncrement)
+ [驗證資料庫 Binlog 映像是否設定為 `FULL`以支援 DMS CDC](#CHAP_Tasks.AssessmentReport.MySQL.BinlogImage)
+ [驗證來源資料庫是否為 MySQL 僅供讀取複本](#CHAP_Tasks.AssessmentReport.MySQL.ReadReplica)
+ [驗證資料表是否有分割區，並建議`target_table_prep_mode`完整載入任務設定](#CHAP_Tasks.AssessmentReport.MySQL.FullLoadTaskSettings)
+ [驗證 DMS 是否支援資料庫版本](#CHAP_Tasks.AssessmentReport.MySQL.DatabaseVersion)
+ [驗證目標資料庫是否已設定為 `local_infile` 1](#CHAP_Tasks.AssessmentReport.MySQL.LocalInfile)
+ [驗證目標資料庫是否有具有外部索引鍵的資料表](#CHAP_Tasks.AssessmentReport.MySQL.ForeignKeys)
+ [驗證任務範圍內的來源資料表是否有階層限制](#CHAP_Tasks.AssessmentReport.MySQL.Cascade)
+ [驗證逾時值是否適合 MySQL 來源或目標](#CHAP_Tasks.AssessmentReport.MySQL.Timeout)
+ [驗證`max_statement_time`資料庫參數](#CHAP_Tasks.AssessmentReport.MySQL.max_statement_time)
+ [驗證批次套用的目標上是否存在主索引鍵或唯一索引](#CHAP_Tasks.AssessmentReport.MySQL.batchapply_absence)
+ [驗證批次套用的目標上是否同時存在主索引鍵和唯一索引](#CHAP_Tasks.AssessmentReport.MySQL.batchapply_simul)
+ [驗證次要索引是否在目標資料庫完全載入期間啟用](#CHAP_Tasks.AssessmentReport.MySQL.secondaryindexes)
+ [啟用 DMS 驗證時，驗證資料表是否具有主索引鍵或唯一索引](#CHAP_Tasks.AssessmentReport.MySQL.pk_validity)
+ [使用 `MaxFullLoadSubTasks`設定的建議](#CHAP_Tasks.AssessmentReport.MySQL.fullload_subtasks)
+ [檢查數字隨機轉換規則](#CHAP_Tasks.AssessmentReport.MySQL.digits.randomise)
+ [檢查數字遮罩的轉換規則](#CHAP_Tasks.AssessmentReport.MySQL.digits.mask)
+ [檢查雜湊遮罩的轉換規則](#CHAP_Tasks.AssessmentReport.MYSQL.hash.mask)
+ [確認資料驗證任務設定和資料遮罩數字隨機化未同時啟用](#CHAP_Tasks.AssessmentReport.MYSQL.all.digits.random)
+ [確認資料驗證任務設定和資料遮罩雜湊遮罩未同時啟用](#CHAP_Tasks.AssessmentReport.MYSQL.all.hash.mask)
+ [確認資料驗證任務設定和資料遮罩數字遮罩未同時啟用](#CHAP_Tasks.AssessmentReport.MYSQL.all.digit.mask)
+ [檢查來源 Amazon Aurora MySQL 執行個體是否不是僅供讀取複本](#CHAP_Tasks.AssessmentReport.MYSQL.read.only)
+ [檢查二進位日誌保留時間是否已正確設定](#CHAP_Tasks.AssessmentReport.MYSQL.retention.time)
+ [檢查來源資料表是否沒有隱藏的資料欄。](#CHAP_Tasks.AssessmentReport.MYSQL.invisible.columns)
+ [驗證資料庫 Binlog 格式是否設定為 ROW 以支援 DMS CDC](#CHAP_Tasks.AssessmentReport.MYSQL.binlog.format)
+ [驗證來源資料庫中至少存在一個選取的物件](#CHAP_Tasks.AssessmentReport.MYSQL.selection.rules)
+ [驗證來源資料庫中是否存在具有產生資料欄的資料表](#CHAP_Tasks.AssessmentReport.MYSQL.generated.columns)
+ [驗證已為分割資料表啟用 skipTableSuspensionForPartitionDdl](#CHAP_Tasks.AssessmentReport.MYSQL.tablepartition.ddl)
+ [驗證 max\$1allowed\$1packet 大小是否可以處理來源 LOB 資料欄](#CHAP_Tasks.AssessmentReport.MYSQL.maxallowed.packetlob)
+ [驗證來源資料庫中是否存在次要限制條件和索引 （非主要）](#CHAP_Tasks.AssessmentReport.MYSQL.secondary.constraints)

## 驗證二進位日誌交易壓縮是否已停用
<a name="CHAP_Tasks.AssessmentReport.MySQL.BinaryLogTransaction"></a>

**API 金鑰：**`mysql-check-binlog-compression`

此預遷移評估會驗證二進位日誌交易壓縮是否已停用。 AWS DMS 不支援二進位日誌交易壓縮。

如需詳細資訊，請參閱[使用 MySQL 資料庫做為來源的限制 AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.Limitations)。

## 驗證 DMS 使用者是否具有來源資料庫的 REPLICATION CLIENT 和 REPLICATION SLAVE 許可
<a name="CHAP_Tasks.AssessmentReport.MySQL.ReplicationClientPermissions"></a>

**API 金鑰：**`mysql-check-replication-privileges`

如果 DMS 任務遷移類型為 CDC 或完全載入 \$1 CDC，則此預遷移評估會驗證來源端點連線設定中指定的 DMS 使用者是否具有 `REPLICATION CLIENT`和來源資料庫的`REPLICATION SLAVE`許可。

如需詳細資訊，請參閱[使用任何 MySQL 相容資料庫做為來源 AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.Prerequisites)。

## 驗證 DMS 使用者是否具有來源資料庫資料表的 SELECT 許可
<a name="CHAP_Tasks.AssessmentReport.MySQL.DMSUserSelectPermissions"></a>

**API 金鑰：**`mysql-check-select-privileges`

此預遷移評估會驗證來源端點連線設定中指定的 DMS 使用者是否具有來源資料庫資料表的 SELECT 許可。

如需詳細資訊，請參閱[使用任何 MySQL 相容資料庫做為來源 AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.Prerequisites)。

## 驗證來源資料庫中的 server\$1id 是否設定為 1 或更高
<a name="CHAP_Tasks.AssessmentReport.MySQL.ServerID"></a>

**API 金鑰：**`mysql-check-server-id`

此預遷移評估會驗證 CDC 遷移類型的來源資料庫中的`server_id`伺服器變數是否設定為 1 或更高。

如需 來源的詳細資訊 AWS DMS，請參閱[使用自我管理的 MySQL 相容資料庫做為來源 AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.CustomerManaged)。

## 驗證 DMS 使用者是否具有 MySQL 資料庫作為目標的必要許可
<a name="CHAP_Tasks.AssessmentReport.MySQL.UserNecessaryPermissions"></a>

**API 金鑰：**`mysql-check-target-privileges`

此預遷移評估會驗證目標端點連線設定中指定的 DMS 使用者是否具有 MySQL 資料庫作為目標的必要許可。

如需 MySQL 來源端點先決條件的詳細資訊，請參閱[使用任何 MySQL 相容資料庫做為來源 AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.Prerequisites)。

## 驗證是否已為來源資料庫設定自動移除二進位日誌
<a name="CHAP_Tasks.AssessmentReport.MySQL.BinaryLogAutomaticRemoval"></a>

**API 金鑰：**`mysql-check-expire-logs-days`

此預遷移評估會驗證資料庫是否設定為自動移除二進位日誌。`EXPIRE_LOGS_DAYS` 或 `BINLOG_EXPIRE_LOGS_SECONDS`全域系統變數的值應大於零，以防止遷移期間過度使用磁碟空間。

如需 來源的詳細資訊 AWS DMS，請參閱[使用自我管理的 MySQL 相容資料庫做為來源 AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.CustomerManaged)。

## 驗證只有在 `BatchApplyEnabled` 設為 true 時，才會使用有限的 LOB 模式
<a name="CHAP_Tasks.AssessmentReport.MySQL.LimitedLOBMode"></a>

**API 金鑰：**`mysql-batch-apply-lob-mode`

此預遷移評估會驗證 DMS 任務是否包含 LOB 資料欄。如果 LOB 資料欄包含在任務範圍中，則只能與有限的 LOB 模式`BatchApplyEnabled`一起使用。

如需`BatchApplyEnabled`設定的詳細資訊，請參閱[如何使用 DMS 批次套用功能來改善 CDC 複寫效能？](https://repost.aws/knowledge-center/dms-batch-apply-cdc-replication)。

## 驗證資料表是否使用 Innodb 以外的儲存引擎
<a name="CHAP_Tasks.AssessmentReport.MySQL.Innodb"></a>

**API 金鑰：**`mysql-check-table-storage-engine`

此預遷移評估會驗證用於來源 MySQL 資料庫中任何資料表的儲存引擎是否為 Innodb 以外的引擎。根據預設，DMS 會使用 InnoDB 儲存引擎建立目標資料表。如果您需要使用 InnoDB 以外的儲存引擎，您必須在目標資料庫上手動建立資料表，並將 DMS 任務設定為使用 `TRUNCATE_BEFORE_LOAD`或 `DO_NOTHING`作為完全載入任務設定。如需完整載入任務設定的詳細資訊，請參閱 [完全載入任務設定](CHAP_Tasks.CustomizingTasks.TaskSettings.FullLoad.md)。

**注意**  
此預遷移評估不適用於 Aurora MySQL 相容版本或 Aurora MySQL 相容版本 Serverless。

如需 MySQL 端點限制的詳細資訊，請參閱 [使用 MySQL 資料庫做為 來源的限制 AWS DMS](CHAP_Source.MySQL.md#CHAP_Source.MySQL.Limitations)。

## 驗證是否在用於遷移的任何資料表上啟用自動遞增
<a name="CHAP_Tasks.AssessmentReport.MySQL.AutoIncrement"></a>

**API 金鑰：**`mysql-check-auto-increment`

此預遷移評估會驗證任務中使用的來源資料表是否已啟用自動遞增。DMS 不會將資料欄上的 AUTO\$1INCREMENT 屬性遷移至目標資料庫。

如需 MySQL 端點限制的詳細資訊，請參閱 [使用 MySQL 資料庫做為 來源的限制 AWS DMS](CHAP_Source.MySQL.md#CHAP_Source.MySQL.Limitations)。如需有關在 MySQL 中處理身分資料欄的資訊，請參閱[處理 IDENTITY 資料欄 AWS DMS：第 2 部分](https://aws.amazon.com/blogs/database/handle-identity-columns-in-aws-dms-part-2/)。

## 驗證資料庫 Binlog 映像是否設定為 `FULL`以支援 DMS CDC
<a name="CHAP_Tasks.AssessmentReport.MySQL.BinlogImage"></a>

**API 金鑰：**`mysql-check-binlog-image`

此預遷移評估會檢查來源資料庫的 binlog 映像是否設定為 `FULL`。在 MySQL 中，`binlog_row_image`變數決定使用 `ROW` 格式時如何寫入二進位日誌事件。若要確保與 DMS 的相容性並支援 CDC，請將 `binlog_row_image`變數設定為 `FULL`。此設定可確保 DMS 收到足夠的資訊，以在遷移期間建構目標資料庫的完整資料處理語言 (DML)。

若要將 binlog 映像設定為 `FULL`，請執行下列動作：
+ 對於 Amazon RDS，此值預設為 `FULL` 。
+ 對於內部部署或 Amazon EC2 上的資料庫，請在 `my.ini`(Microsoft Windows) 或 `my.cnf`(UNIX) 中設定 `binlog_row_image`值。

此評估僅對完全載入和 CDC 遷移或僅限 CDC 遷移有效。此評估對於僅限完全載入遷移無效。

## 驗證來源資料庫是否為 MySQL 僅供讀取複本
<a name="CHAP_Tasks.AssessmentReport.MySQL.ReadReplica"></a>

**API 金鑰：**`mysql-check-database-role`

此預遷移評估會驗證來源資料庫是否為僅供讀取複本。若要在連線至僅供讀取複本時啟用 DMS 的 CDC 支援，請將 `log_slave_updates` 參數設定為 `True`。如需使用自我管理 MySQL 資料庫的詳細資訊，請參閱 [使用自我管理的 MySQL 相容資料庫做為 的來源 AWS DMS](CHAP_Source.MySQL.md#CHAP_Source.MySQL.CustomerManaged)。

若要將 `log_slave_updates`值設定為 `True`，請執行下列動作：
+ 對於 Amazon RDS，請使用資料庫的參數群組。如需使用 RDS 資料庫參數群組的相關資訊，請參閱《*Amazon RDS 使用者指南*》中的[使用參數群組](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html)。
+ 對於內部部署或 Amazon EC2 上的資料庫，請在 `my.ini`(Microsoft Windows) 或 `my.cnf`(UNIX) 中設定 `log_slave_updates`值。

此評估僅對完全載入和 CDC 遷移或僅限 CDC 遷移有效。此評估對於僅限完全載入遷移無效。

## 驗證資料表是否有分割區，並建議`target_table_prep_mode`完整載入任務設定
<a name="CHAP_Tasks.AssessmentReport.MySQL.FullLoadTaskSettings"></a>

**API 金鑰：**`mysql-check-table-partition`

此預遷移評估會檢查來源資料庫中是否存在具有分割區的資料表。DMS 會在 MySQL 目標上建立沒有分割區的資料表。若要將分割資料表遷移至目標上的分割資料表，您必須執行下列動作：
+ 在目標 MySQL 資料庫中預先建立分割的資料表。
+ 將 DMS 任務設定為使用 `TRUNCATE_BEFORE_LOAD`或 `DO_NOTHING`作為完全載入任務設定。

如需 MySQL 端點限制的詳細資訊，請參閱 [使用 MySQL 資料庫做為 來源的限制 AWS DMS](CHAP_Source.MySQL.md#CHAP_Source.MySQL.Limitations)。

## 驗證 DMS 是否支援資料庫版本
<a name="CHAP_Tasks.AssessmentReport.MySQL.DatabaseVersion"></a>

**API 金鑰：**`mysql-check-supported-version`

此預遷移評估會驗證來源資料庫版本是否與 DMS 相容。如需支援的 MySQL 版本的詳細資訊，請參閱 [資料遷移的來源端點](CHAP_Introduction.Sources.md#CHAP_Introduction.Sources.DataMigration)。

## 驗證目標資料庫是否已設定為 `local_infile` 1
<a name="CHAP_Tasks.AssessmentReport.MySQL.LocalInfile"></a>

**API 金鑰：**`mysql-check-target-localinfile-set`

 此預遷移評估會檢查目標資料庫中的 `local_infile` 參數是否設為 1。DMS 要求在目標資料庫中完全載入期間將 'local\$1infile' 參數設定為 1。如需詳細資訊，請參閱[使用 從 MySQL 遷移至 MySQL AWS DMS](CHAP_Source.MySQL.md#CHAP_Source.MySQL.Homogeneous)。

此評估僅適用於完全載入或完全載入和 CDC 任務。

## 驗證目標資料庫是否有具有外部索引鍵的資料表
<a name="CHAP_Tasks.AssessmentReport.MySQL.ForeignKeys"></a>

**API 金鑰：**`mysql-check-fk-target`

此預遷移評估會檢查完全載入或完全，以及遷移至 MySQL 資料庫的 CDC 任務是否有具有外部索引鍵的資料表。DMS 中的預設設定是依字母順序載入資料表。具有外部索引鍵和參考完整性限制的資料表可能會導致載入失敗，因為父資料表和子資料表可能不會同時載入。

如需 DMS 中參考完整性的詳細資訊，請參閱 [改善 AWS DMS 遷移的效能](CHAP_BestPractices.md#CHAP_BestPractices.Performance)主題中的**使用索引、觸發條件和參考完整性限制**。

## 驗證任務範圍內的來源資料表是否有階層限制
<a name="CHAP_Tasks.AssessmentReport.MySQL.Cascade"></a>

**API 金鑰：**`mysql-check-cascade-constraints`

此預遷移評估會檢查是否有任何 MySQL 來源資料表有層疊限制。DMS 任務不會遷移或複寫層疊限制條件，因為 MySQL 不會在 binlog 中記錄這些事件的變更。雖然 AWS DMS 不支援這些限制條件，但您可以針對關聯式資料庫目標使用因應措施。

如需有關支援大小寫限制條件和其他限制條件的資訊，請參閱 主題[未遷移的索引、外部索引鍵或梯級更新或刪除](CHAP_Troubleshooting.md#CHAP_Troubleshooting.MySQL.FKsAndIndexes)中的**對遷移任務進行故障診斷。 AWS DMS**

## 驗證逾時值是否適合 MySQL 來源或目標
<a name="CHAP_Tasks.AssessmentReport.MySQL.Timeout"></a>

**API 金鑰：**`mysql-check-target-network-parameter`

此預遷移評估會檢查任務的 MySQL 端點是否已將 `net_read_timeout``net_write_timeout`和 `wait_timeout`設定設為至少 300 秒。這是必要的，以防止遷移期間中斷連線。

如需詳細資訊，請參閱[目標 MySQL 執行個體的連線在任務期間中斷連線](CHAP_Troubleshooting.md#CHAP_Troubleshooting.MySQL.ConnectionDisconnect)。

## 驗證`max_statement_time`資料庫參數
<a name="CHAP_Tasks.AssessmentReport.MySQL.max_statement_time"></a>

**API 金鑰：**`mysql-check-max-statement-time`

檢查來源參數 - `max_Statement_time` 適用於 MySQL 型來源。如果資料表大於 10 億，請驗證 值，`max_Statement_time`並建議將 設定為較高的值，以避免任何潛在的資料遺失。

## 驗證批次套用的目標上是否存在主索引鍵或唯一索引
<a name="CHAP_Tasks.AssessmentReport.MySQL.batchapply_absence"></a>

**API 金鑰：**`mysql-check-batch-apply-target-pk-ui-absence`

只有在目標資料表上具有主索引鍵或唯一索引的資料表上才支援批次套用。沒有主索引鍵或唯一索引的資料表會導致批次失敗，並逐一處理變更。建議您將這類資料表移至自己的任務，並改用交易套用模式。或者，您可以在目標資料表上建立唯一的金鑰。

如需詳細資訊，請參閱[使用 MySQL 相容資料庫做為目標 AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html)。

## 驗證批次套用的目標上是否同時存在主索引鍵和唯一索引
<a name="CHAP_Tasks.AssessmentReport.MySQL.batchapply_simul"></a>

**API 金鑰：**`mysql-check-batch-apply-target-pk-ui-simultaneously`

只有在目標資料表上具有主索引鍵或唯一索引的資料表上才支援批次套用。具有主索引鍵和唯一索引的資料表會同時導致批次失敗，並逐一處理變更。建議您將這類資料表移至自己的任務，並改用交易套用模式。或者，您可以在目標資料表上捨棄唯一索引鍵 （或主索引鍵），並在執行遷移時重建它。

如需詳細資訊，請參閱[使用 MySQL 相容資料庫做為目標 AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html)。

## 驗證次要索引是否在目標資料庫完全載入期間啟用
<a name="CHAP_Tasks.AssessmentReport.MySQL.secondaryindexes"></a>

**API 金鑰：**`mysql-check-secondary-indexes`

考慮停用或移除目標資料庫中的次要索引。次要索引可能會影響完全載入期間的遷移效能。建議您先啟用次要索引，再套用快取的變更。

如需詳細資訊，請參閱 [的最佳實務 AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_BestPractices.html)。

## 啟用 DMS 驗證時，驗證資料表是否具有主索引鍵或唯一索引
<a name="CHAP_Tasks.AssessmentReport.MySQL.pk_validity"></a>

**API 金鑰：**`mysql-check-pk-validity`

資料驗證要求資料表必須有主索引鍵或唯一的索引。

如需詳細資訊，請參閱[AWS DMS 資料驗證](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html)。

## 使用 `MaxFullLoadSubTasks`設定的建議
<a name="CHAP_Tasks.AssessmentReport.MySQL.fullload_subtasks"></a>

**API 金鑰：**`mysql-tblnum-for-max-fullload-subtasks`

此評估會檢查任務中包含的資料表數量，並建議在完整載入程序期間增加 `MaxFullLoadSubTasks` 參數以獲得最佳效能。根據預設， 會同時 AWS DMS 遷移 8 個資料表。將 `MaxFullLoadSubTasks` 參數變更為較高的值可改善完全載入效能。

如需詳細資訊，請參閱[完全載入任務設定](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.FullLoad.html)。

## 檢查數字隨機轉換規則
<a name="CHAP_Tasks.AssessmentReport.MySQL.digits.randomise"></a>

**API 金鑰：**`mysql-datamasking-digits-randomize`

此評估會驗證資料表映射中使用的資料欄是否與數位隨機轉換規則相容。此外，評估會檢查為轉換選擇的任何資料欄是否為主索引鍵、唯一限制條件或外部索引鍵的一部分，因為套用數字隨機轉換並不保證任何唯一性。

## 檢查數字遮罩的轉換規則
<a name="CHAP_Tasks.AssessmentReport.MySQL.digits.mask"></a>

**API 金鑰：**`mysql-datamasking-digits-mask`

此評估會驗證 Digits Mask 轉換規則是否不支援資料表映射中使用的任何資料欄。此外，評估會檢查為轉換選取的任何資料欄是否為主索引鍵、唯一限制條件或外部索引鍵的一部分，因為將數位遮罩轉換套用至此類資料欄可能會導致 DMS 任務失敗，因為無法保證唯一性。

## 檢查雜湊遮罩的轉換規則
<a name="CHAP_Tasks.AssessmentReport.MYSQL.hash.mask"></a>

**API 金鑰：**`mysql-datamasking-hash-mask`

此評估會驗證雜湊遮罩轉換規則是否不支援資料表映射中使用的任何資料欄。它也會檢查來源資料欄的長度是否超過 64 個字元。理想情況下，目標欄長度應大於 64 個字元，以支援雜湊遮罩。此外，評估會檢查為轉換選擇的任何資料欄是否為主索引鍵、唯一限制條件或外部索引鍵的一部分，因為套用數字隨機轉換並不保證任何唯一性。

## 確認資料驗證任務設定和資料遮罩數字隨機化未同時啟用
<a name="CHAP_Tasks.AssessmentReport.MYSQL.all.digits.random"></a>

**API 金鑰：**`all-to-all-validation-with-datamasking-digits-randomize`

此預遷移評估會驗證資料驗證設定和資料遮罩數字隨機化不會同時啟用，因為這些功能不相容。

## 確認資料驗證任務設定和資料遮罩雜湊遮罩未同時啟用
<a name="CHAP_Tasks.AssessmentReport.MYSQL.all.hash.mask"></a>

**API 金鑰：**`all-to-all-validation-with-datamasking-hash-mask`

此預遷移評估會驗證資料驗證設定和資料遮罩雜湊遮罩不會同時啟用，因為這些功能不相容。

## 確認資料驗證任務設定和資料遮罩數字遮罩未同時啟用
<a name="CHAP_Tasks.AssessmentReport.MYSQL.all.digit.mask"></a>

**API 金鑰：**`all-to-all-validation-with-digit-mask`

此預遷移評估會驗證資料驗證設定和資料遮罩數字遮罩不會同時啟用，因為這些功能不相容。

## 檢查來源 Amazon Aurora MySQL 執行個體是否不是僅供讀取複本
<a name="CHAP_Tasks.AssessmentReport.MYSQL.read.only"></a>

**API 金鑰：**`mysql-check-aurora-read-only`

此預遷移評估會驗證是否在兩個 Amazon Aurora MySQL 叢集之間遷移，來源端點必須是讀取/寫入執行個體，而不是複本執行個體。

## 檢查二進位日誌保留時間是否已正確設定
<a name="CHAP_Tasks.AssessmentReport.MYSQL.retention.time"></a>

**API 金鑰：**`mysql-check-binlog-retention-time`

此預遷移評估會驗證「binlog 保留時數」的值是否大於 24 小時。

## 檢查來源資料表是否沒有隱藏的資料欄。
<a name="CHAP_Tasks.AssessmentReport.MYSQL.invisible.columns"></a>

**API 金鑰：**`mysql-check-invisible-columns`

此預遷移評估會驗證來源資料表是否沒有隱藏資料欄。 AWS DMS 不會從來源資料庫中的隱藏資料欄遷移資料。

## 驗證資料庫 Binlog 格式是否設定為 ROW 以支援 DMS CDC
<a name="CHAP_Tasks.AssessmentReport.MYSQL.binlog.format"></a>

**API 金鑰：**`mysql-check-binlog-format`

此預遷移評估會驗證來源資料庫 Binlog 格式是否設定為 ROW，以支援變更資料擷取 (CDC)。若要將 binlog 格式設定為 ROW，請執行下列動作：
+ 對於 Amazon RDS，請使用資料庫的參數群組。如需詳細資訊，請參閱《Amazon Relational Database Service 使用者指南》中的[為單一可用區資料庫設定 MySQL 二進位記錄](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.MySQL.BinaryFormat.html)。
+ 對於內部部署或 Amazon EC2 上的資料庫，請在 `my.ini`(Microsoft Windows) 或 `my.cnf `(UNIX) 中設定 `binlog_format`值。

此評估僅對完全載入和 CDC 遷移或僅限 CDC 遷移有效。此評估對於僅限完全載入遷移無效。如需自我託管 MySQL 伺服器的詳細資訊，請參閱[使用自我管理的 MySQL 相容資料庫做為 的來源 AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.CustomerManaged)。

## 驗證來源資料庫中至少存在一個選取的物件
<a name="CHAP_Tasks.AssessmentReport.MYSQL.selection.rules"></a>

**API 金鑰：**`all-check-source-selection-rules`

此預遷移評估會驗證選取規則中指定的至少一個物件是否存在於來源資料庫中，包括萬用字元型規則的模式比對。

## 驗證來源資料庫中是否存在具有產生資料欄的資料表
<a name="CHAP_Tasks.AssessmentReport.MYSQL.generated.columns"></a>

**API 金鑰：**`mysql-check-generated-columns`

此預遷移評估會檢查是否有任何 MySQL 來源資料表已產生 column. AWS DMS tasks 不會遷移或複寫產生的資料欄。如需如何遷移產生的資料欄的詳細資訊，請參閱 [使用 MySQL 資料庫做為 來源的限制 AWS DMS](CHAP_Source.MySQL.md#CHAP_Source.MySQL.Limitations)。

## 驗證已為分割資料表啟用 skipTableSuspensionForPartitionDdl
<a name="CHAP_Tasks.AssessmentReport.MYSQL.tablepartition.ddl"></a>

**API 金鑰：**`mysql-check-skip-table-suspension-partition-ddl`

此預遷移評估會偵測來源資料庫中的分割資料表，並驗證`skipTableSuspensionForPartitionDdl`參數設定。未設定此參數可能會導致遷移期間不必要的資料表停用。如需詳細資訊，請參閱以下連結：[使用 MySQL 資料庫做為 來源的限制 AWS DMS](CHAP_Source.MySQL.md#CHAP_Source.MySQL.Limitations)。

## 驗證 max\$1allowed\$1packet 大小是否可以處理來源 LOB 資料欄
<a name="CHAP_Tasks.AssessmentReport.MYSQL.maxallowed.packetlob"></a>

**API 金鑰：**`mysql-check-max-allowed-packet-lob`

AWS DMS 會偵測來源資料表中超過目前`max_allowed_packet`設定的 LOB 資料欄。此不相符可能會導致資料遷移期間的複寫失敗。如需詳細資訊，請參閱[使用 MySQL 來疑難排解問題](CHAP_Troubleshooting.md#CHAP_Troubleshooting.MySQL)。

## 驗證來源資料庫中是否存在次要限制條件和索引 （非主要）
<a name="CHAP_Tasks.AssessmentReport.MYSQL.secondary.constraints"></a>

**API 金鑰：**`all-check-secondary-constraints`

此預遷移評估會驗證來源資料庫中是否存在次要限制條件和索引 （外部索引鍵、檢查限制條件、非叢集索引）。