

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

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

本節說明使用 MariaDB 來源端點之遷移任務的個別預遷移評估。

若要使用 AWS DMS API 建立個別預遷移評估，請針對 [ StartReplicationTaskAssessmentRun](https://docs.aws.amazon.com/dms/latest/APIReference/API_StartReplicationTaskAssessmentRun.html) 動作的 `Include` 參數使用列出的 API 金鑰。

**Topics**
+ [驗證來源資料庫中的 `server_id` 是否設定為 1 或更高](#CHAP_Tasks.AssessmentReport.MariaDB.ServerID)
+ [驗證是否已為來源資料庫設定自動移除二進位日誌](#CHAP_Tasks.AssessmentReport.MariaDB.AutomaticRemovalBinaryLogs)
+ [驗證只有在 BatchApplyEnabled 設為 true 時，才會使用有限的 LOB 模式](#CHAP_Tasks.AssessmentReport.MariaDB.LimitedLOBMode)
+ [驗證二進位日誌交易壓縮是否已停用](#CHAP_Tasks.AssessmentReport.MariaDB.BinaryLogTransactionCompression)
+ [驗證 DMS 使用者是否具有來源資料庫的 REPLICATION CLIENT 和 REPLICATION SLAVE 權限](#CHAP_Tasks.AssessmentReport.MariaDB.ReplicationClientSlavePrivileges)
+ [驗證 DMS 使用者是否具有來源資料庫資料表的 SELECT 許可](#CHAP_Tasks.AssessmentReport.MariaDB.DMSUserSELECTPermissions)
+ [驗證 DMS 使用者是否具有 MySQL 相容資料庫的必要權限做為目標](#CHAP_Tasks.AssessmentReport.MariaDB.DMSUserNecessaryPermissions)
+ [驗證資料表是否使用 Innodb 以外的儲存引擎](#CHAP_Tasks.AssessmentReport.MariaDB.Innodb)
+ [驗證是否在用於遷移的任何資料表上啟用自動遞增](#CHAP_Tasks.AssessmentReport.MariaDB.AutoIncrement)
+ [驗證資料庫 Binlog 格式是否設定為 `ROW`以支援 DMS CDC](#CHAP_Tasks.AssessmentReport.MariaDB.BinlogFormat)
+ [驗證資料庫 Binlog 映像是否設定為 `FULL`以支援 DMS CDC](#CHAP_Tasks.AssessmentReport.MariaDB.BinlogImage)
+ [驗證來源資料庫是否為 MariaDB 僅供讀取複本](#CHAP_Tasks.AssessmentReport.MariaDB.ReadReplica)
+ [驗證資料表是否有分割區，並`DO_NOTHING`針對完整載入任務設定建議 `TRUNCATE_BEFORE_LOAD`或](#CHAP_Tasks.AssessmentReport.MariaDB.FullLoadTaskSettings)
+ [驗證 DMS 是否支援資料庫版本](#CHAP_Tasks.AssessmentReport.MariaDB.DatabaseVersion)
+ [驗證目標資料庫是否已設定為 `local_infile` 1](#CHAP_Tasks.AssessmentReport.MariaDB.LocalInfile)
+ [驗證目標資料庫是否有具有外部索引鍵的資料表](#CHAP_Tasks.AssessmentReport.MariaDB.ForeignKeys)
+ [驗證任務範圍內的來源資料表是否有階層限制](#CHAP_Tasks.AssessmentReport.MariaDB.Cascade)
+ [驗證任務範圍內的來源資料表是否已產生資料欄](#CHAP_Tasks.AssessmentReport.MariaDB.GeneratedColumns)
+ [驗證逾時值是否適合 MariaDB 來源](#CHAP_Tasks.AssessmentReport.MariaDB.Timeout.Source)
+ [驗證逾時值是否適合 MariaDB 目標](#CHAP_Tasks.AssessmentReport.MariaDB.Timeout.Target)
+ [驗證`max_statement_time`資料庫參數](#CHAP_Tasks.AssessmentReport.MariaDB.database.parameter)
+ [驗證批次套用的目標上是否存在主索引鍵或唯一索引](#CHAP_Tasks.AssessmentReport.MariaDB.batchapply)
+ [驗證批次套用的目標上是否同時存在主索引鍵和唯一索引](#CHAP_Tasks.AssessmentReport.MariaDB.batchapply.simultaneous)
+ [驗證次要索引是否在目標資料庫完全載入期間啟用](#CHAP_Tasks.AssessmentReport.MariaDB.secondary.indexes)
+ [啟用 DMS 驗證時，驗證資料表是否具有主索引鍵或唯一索引](#CHAP_Tasks.AssessmentReport.MariaDB.dmsvalidation)
+ [使用 `MaxFullLoadSubTasks`設定的建議](#CHAP_Tasks.AssessmentReport.MariaDB.maxfullload)
+ [檢查數字隨機轉換規則](#CHAP_Tasks.AssessmentReport.MariaDB.digits.randomize)
+ [檢查數字遮罩的轉換規則](#CHAP_Tasks.AssessmentReport.MariaDB.digits.mask)
+ [檢查雜湊遮罩的轉換規則](#CHAP_Tasks.AssessmentReport.MariaDB.hash.mask)
+ [確認資料驗證任務設定和資料遮罩數字隨機化未同時啟用](#CHAP_Tasks.AssessmentReport.MariaDB.all.digits.random)
+ [確認資料驗證任務設定和資料遮罩雜湊遮罩未同時啟用](#CHAP_Tasks.AssessmentReport.MariaDB.all.hash.mask)
+ [確認資料驗證任務設定和資料遮罩數字遮罩未同時啟用](#CHAP_Tasks.AssessmentReport.MariaDB.all.digit.mask)
+ [檢查二進位日誌保留時間是否已正確設定](#CHAP_Tasks.AssessmentReport.MariaDB.retention.time)
+ [檢查來源資料表是否沒有隱藏的資料欄](#CHAP_Tasks.AssessmentReport.MariaDB.invisible.columns)
+ [驗證來源資料庫中至少存在一個選取的物件](#CHAP_Tasks.AssessmentReport.MariaDB.selection.rules)
+ [驗證 `skipTableSuspensionForPartitionDdl` 已啟用分割資料表](#CHAP_Tasks.AssessmentReport.MariaDB.suspension.ddl)
+ [驗證來源資料庫中是否存在次要限制條件和索引 （非主要）](#CHAP_Tasks.AssessmentReport.MariaDB.secondary.constraints)
+ [啟用批次套用時，驗證淨變更資料表的資料列大小不超過 65535](#CHAP_Tasks.AssessmentReport.MariaDB.batchapply.mysql)
+ [驗證目標端點不是僅供讀取複本](#CHAP_Tasks.AssessmentReport.MariaDB.read.replica)
+ [驗證要遷移的資料表數量不超過 10，000](#CHAP_Tasks.AssessmentReport.MariaDB.10k.tables)
+ [驗證二進位日誌是否已啟用](#CHAP_Tasks.AssessmentReport.MariaDB.binlog.enable)
+ [檢查來源上是否存在來自選取規則的檢視](#CHAP_Tasks.AssessmentReport.MariaDB.views)

## 驗證來源資料庫中的 `server_id` 是否設定為 1 或更高
<a name="CHAP_Tasks.AssessmentReport.MariaDB.ServerID"></a>

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

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

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

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

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

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

如需 MariaDB 端點限制的詳細資訊，請參閱[使用自我管理的 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.MariaDB.LimitedLOBMode"></a>

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

當複寫中包含 LOB 資料欄時，您只能`BatchApplyEnabled`在有限的 LOB 模式下使用 。使用 LOB 模式的其他選項會導致批次失敗，並將逐一 AWS DMS 處理變更。建議您將這些資料表移至自己的任務，並改用交易套用模式。

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

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

**API 金鑰：**`mariadb-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.MariaDB.ReplicationClientSlavePrivileges"></a>

**API 金鑰：**`mariadb-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.MariaDB.DMSUserSELECTPermissions"></a>

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

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

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

## 驗證 DMS 使用者是否具有 MySQL 相容資料庫的必要權限做為目標
<a name="CHAP_Tasks.AssessmentReport.MariaDB.DMSUserNecessaryPermissions"></a>

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

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

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

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

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

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

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

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

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

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

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

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

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

此預遷移評估會驗證來源資料庫 binlog 格式是否設定為 `ROW`以支援 DMS 變更資料擷取 (CDC)。

若要將 binlog 格式設定為 `ROW`，請執行下列動作：
+ 對於 Amazon RDS，請使用資料庫的參數群組。如需有關使用 RDS 參數群組的資訊，請參閱《*Amazon RDS 使用者指南*》中的[設定 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 遷移有效。此評估對於僅限完全載入遷移無效。

如需自我託管 MariaDB 伺服器的詳細資訊，請參閱 [使用自我管理的 MySQL 相容資料庫做為 的來源 AWS DMS](CHAP_Source.MySQL.md#CHAP_Source.MySQL.CustomerManaged)。

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

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

此預遷移評估會檢查來源資料庫的 binlog 映像是否設定為 `FULL`。在 MariaDB 中，`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 遷移有效。此評估對於僅限完全載入遷移無效。

如需自我託管 MariaDB 伺服器的詳細資訊，請參閱 [使用自我管理的 MySQL 相容資料庫做為 的來源 AWS DMS](CHAP_Source.MySQL.md#CHAP_Source.MySQL.CustomerManaged)。

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

**API 金鑰：**`mariadb-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 遷移有效。此評估對於僅限完全載入遷移無效。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

## 驗證任務範圍內的來源資料表是否已產生資料欄
<a name="CHAP_Tasks.AssessmentReport.MariaDB.GeneratedColumns"></a>

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

此預遷移評估會檢查是否有任何 MariaDB 來源資料表已產生資料欄。DMS 任務不會遷移或複寫產生的資料欄。

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

## 驗證逾時值是否適合 MariaDB 來源
<a name="CHAP_Tasks.AssessmentReport.MariaDB.Timeout.Source"></a>

**API 金鑰：**`mariadb-check-source-network-parameter`

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

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

## 驗證逾時值是否適合 MariaDB 目標
<a name="CHAP_Tasks.AssessmentReport.MariaDB.Timeout.Target"></a>

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

此預遷移評估會檢查任務的 MariaDB 目標端點是否將 `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.MariaDB.database.parameter"></a>

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

AWS DMS 會驗證資料庫來源參數`max_statement_time`是否設定為 0 以外的值。需要將此參數設定為 0 才能容納 DMS 完全載入程序。您可以考慮在完全載入完成後變更參數值，因為將其設定為 0 以外的值可能會導致資料遺失。

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

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

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

如需詳細資訊，請參閱[使用 MySQL 相容資料庫做為 的目標 AWS Database Migration Service](CHAP_Target.MySQL.md)。

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

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

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

如需詳細資訊，請參閱[使用 MySQL 相容資料庫做為 的目標 AWS Database Migration Service](CHAP_Target.MySQL.md)。

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

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

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

如需詳細資訊，請參閱[的最佳實務 AWS Database Migration Service](CHAP_BestPractices.md)。

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

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

資料驗證要求資料表在來源和目標上都有主索引鍵或唯一索引。

如需詳細資訊，請參閱[AWS DMS 資料驗證](CHAP_Validating.md)。

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

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

如需詳細資訊，請參閱[完全載入任務設定](CHAP_Tasks.CustomizingTasks.TaskSettings.FullLoad.md)。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

此預遷移評估會驗證 '`binlog retention hours`' 的值是否大於 24 小時。

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

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

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

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

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

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

## 驗證 `skipTableSuspensionForPartitionDdl` 已啟用分割資料表
<a name="CHAP_Tasks.AssessmentReport.MariaDB.suspension.ddl"></a>

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

此預遷移評估會偵測來源資料庫中的分割資料表，並驗證`skipTableSuspensionForPartitionDdl`參數設定。未設定此參數可能會導致遷移期間不必要的資料表停用。

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

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

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

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

## 啟用批次套用時，驗證淨變更資料表的資料列大小不超過 65535
<a name="CHAP_Tasks.AssessmentReport.MariaDB.batchapply.mysql"></a>

**API 金鑰：**`all-check-for-batch-apply-to-mysql`

預遷移評估會檢查是否有任何資料表包含大小超過 65，535 個位元組的資料列。啟用批次套用時，由於引擎限制， AWS DMS 無法為超過此大小的資料列建立暫存資料表。

## 驗證目標端點不是僅供讀取複本
<a name="CHAP_Tasks.AssessmentReport.MariaDB.read.replica"></a>

**API 金鑰：**`all-check-target-read-replica`

此預遷移評估會驗證目標端點未設定為僅供讀取複本。 AWS DMS 需要對目標資料庫的寫入存取權，且無法複寫至唯讀複本。

## 驗證要遷移的資料表數量不超過 10，000
<a name="CHAP_Tasks.AssessmentReport.MariaDB.10k.tables"></a>

**API 金鑰：**`mariadb-check-10k-tables`

此預遷移評估會根據您的資料表選擇，驗證要遷移的資料表數目是否超過 10，000。

## 驗證二進位日誌是否已啟用
<a name="CHAP_Tasks.AssessmentReport.MariaDB.binlog.enable"></a>

**API 金鑰：**`mariadb-check-binlog-enabled`

此預遷移評估會驗證是否在來源資料庫上啟用二進位記錄。

如需詳細資訊，請參閱[使用自我管理的 MySQL 相容資料庫做為 的來源 AWS DMS](CHAP_Source.MySQL.md#CHAP_Source.MySQL.CustomerManaged)。

## 檢查來源上是否存在來自選取規則的檢視
<a name="CHAP_Tasks.AssessmentReport.MariaDB.views"></a>

**API 金鑰：**`mariadb-check-views`

此預遷移評估會驗證是否使用檢視，因為 AWS DMS 不支援 MariaDB 的檢視遷移。

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