Select your cookie preferences

We use essential cookies and similar tools that are necessary to provide our site and services. We use performance cookies to collect anonymous statistics, so we can understand how customers use our site and make improvements. Essential cookies cannot be deactivated, but you can choose “Customize” or “Decline” to decline performance cookies.

If you agree, AWS and approved third parties will also use cookies to provide useful site features, remember your preferences, and display relevant content, including relevant advertising. To accept or decline all non-essential cookies, choose “Accept” or “Decline.” To make more detailed choices, choose “Customize.”

MariaDB assessments

Focus mode
MariaDB assessments - AWS Database Migration Service
Validate if the server_id is set to 1 or greater in the source databaseValidate if automatic removal of binary logs is set for the source databaseValidate that limited LOB mode only is used when BatchApplyEnabled is set to trueValidate if Binary Log transaction compression is disabledValidate if DMS user has REPLICATION CLIENT and REPLICATION SLAVE privileges for the source databaseValidate if DMS user has SELECT permissions for the source database tablesValidate if DMS user has necessary privileges for the MySQL-compatible database as a targetValidate if a table uses a storage engine other than InnodbValidate if auto-increment is enabled on any tables used for migrationValidate if the database binlog format is set to ROW to support DMS CDCValidate if the database binlog image is set to FULL to support DMS CDCValidate if the source database is a MariaDB Read-ReplicaValidate if a table has partitions, and recommend TRUNCATE_BEFORE_LOAD or DO_NOTHING for full-load task settingsValidate if DMS supports the database versionValidate if the target database is configured to set local_infile to 1Validate if target database has tables with foreign keysValidate if source tables in the task scope have cascade constraintsValidate if source tables in the task scope have generated columnsValidate if the timeout values are appropriate for a MariaDB sourceValidate if the timeout values are appropriate for a MariaDB targetValidate max_statement_time database parameterValidate if Primary Key or Unique Index exist on target for Batch ApplyValidate if both Primary Key and Unique index exist on target for Batch ApplyValidate if secondary indexes are enabled during full load on the target databaseValidate if table has primary key or unique index when DMS validation is enabledRecommendation on using MaxFullLoadSubTasks setting

This section describes individual premigration assessments for migration tasks that use a MariaDB source endpoint.

To create an individual premigration assessment using the AWS DMS API, use the listed API key for the Include parameter of the StartReplicationTaskAssessmentRun action.

Topics

Validate if the server_id is set to 1 or greater in the source database

API key: mariadb-check-server-id

This premigration assessment validates whether the server_id server variable is set to 1 or greater in the source database for CDC migration type.

For more information about MariaDB endpoint limitations, see Using a self-managed MySQL-compatible database as a source for AWS DMS.

Validate if automatic removal of binary logs is set for the source database

API key: mariadb-check-expire-logs-days

This premigration assessment validates whether your database is configured to automatically remove binary logs. The values of either EXPIRE_LOGS_DAYS or BINLOG_EXPIRE_LOGS_SECONDS global system variables should be greater than zero to prevent overuse of disk space during migration.

For more information about MariaDB endpoint limitations, see Using a self-managed MySQL-compatible database as a source for AWS DMS.

Validate that limited LOB mode only is used when BatchApplyEnabled is set to true

API key: mariadb-batch-apply-lob-mode

When LOB columns are included in the replication, you can use BatchApplyEnabled in limited LOB mode only. Using other options of the LOB mode will cause the batch to fail, and AWS DMS will process the changes one by one. We recommend that you move these tables to their own tasks and use transactional apply mode instead.

For more information about the BatchApplyEnabled setting, see How can I use the DMS batch apply feature to improve CDC replication performance?.

Validate if Binary Log transaction compression is disabled

API key: mariadb-check-binlog-compression

This premigration assessment validates whether Binary Log transaction compression is disabled. AWS DMS doesn't support binary log transaction compression.

For more information, see Limitations on using a MySQL database as a source for AWS DMS.

Validate if DMS user has REPLICATION CLIENT and REPLICATION SLAVE privileges for the source database

API key: mariadb-check-replication-privileges

This premigration assessment validates whether the DMS user specified in the source endpoint connection settings has REPLICATION CLIENT and REPLICATION SLAVE privileges for the source database, if the DMS task migration type is CDC or full-load + CDC.

For more information, see Using any MySQL-compatible database as a source for AWS DMS.

Validate if DMS user has SELECT permissions for the source database tables

API key: mariadb-check-select-privileges

This premigration assessment validates whether the DMS user specified in the source endpoint connection settings has SELECT permissions for the source database tables.

For more information, see Using any MySQL-compatible database as a source for AWS DMS.

Validate if DMS user has necessary privileges for the MySQL-compatible database as a target

API key: mariadb-check-target-privileges

This premigration assessment validates whether the DMS user specified in the target endpoint connection settings has necessary privileges for the MySQL-compatible database as a target.

For more information, see Using any MySQL-compatible database as a source for AWS DMS.

Validate if a table uses a storage engine other than Innodb

API key: mariadb-check-table-storage-engine

This premigration assessment validates whether the storage engine used for any table in the Source MariaDB database is an engine other than Innodb. DMS creates target tables with the InnoDB storage engine by default. If you need to use a storage engine other than InnoDB, you must manually create the table on the target database and configure your DMS task to use TRUNCATE_BEFORE_LOAD or DO_NOTHING as the full-load task setting. For more information about full-load task settings, see Full-load task settings.

For more information about MariaDB endpoint limitations, see Limitations on using a MySQL database as a source for AWS DMS.

Validate if auto-increment is enabled on any tables used for migration

API key: mariadb-check-auto-increment

This premigration assessment validates whether the source tables that are used in the task have auto-increment enabled. DMS doesn't migrate the AUTO_INCREMENT attribute on a column to a target database.

For more information about MariaDB endpoint limitations, see Limitations on using a MySQL database as a source for AWS DMS. For information about handling identity columns in MariaDB, see Handle IDENTITY columns in AWS DMS: Part 2.

Validate if the database binlog format is set to ROW to support DMS CDC

API key: mariadb-check-binlog-format

This premigration assessment validates whether the source database binlog format is set to ROW to support DMS Change Data Capture (CDC).

To set the binlog format to ROW, do the following:

  • For Amazon RDS, use the database's parameter group. For information about using an RDS parameter group, see Configuring MySQL binary logging in the Amazon RDS User Guide.

  • For databases hosed on-premises or on Amazon EC2, set the binlog_format value in my.ini (Microsoft Windows) or my.cnf (UNIX).

This assessment is only valid for a full-load and CDC migration, or a CDC-only migration. This assessment is not valid for a full-load only migration.

For more information about self-hosted MariaDB servers, see Using a self-managed MySQL-compatible database as a source for AWS DMS.

Validate if the database binlog image is set to FULL to support DMS CDC

API key: mariadb-check-binlog-image

This premigration assessment checks whether the source database's binlog image is set to FULL. In MariaDB, the binlog_row_image variable determines how a binary log event is written when using the ROW format. To ensure compatibility with DMS and support CDC, set the binlog_row_image variable to FULL. This setting ensures that DMS receives sufficient information to construct the full Data Manipulation Language (DML) for the target database during migration.

To set the binlog image to FULL, do the following:

  • For Amazon RDS, this value is FULL by default.

  • For databases hosed on-premises or on Amazon EC2, set the binlog_row_image value in my.ini (Microsoft Windows) or my.cnf (UNIX).

This assessment is only valid for a full-load and CDC migration, or a CDC-only migration. This assessment is not valid for a full-load only migration.

For more information about self-hosted MariaDB servers, see Using a self-managed MySQL-compatible database as a source for AWS DMS.

Validate if the source database is a MariaDB Read-Replica

API key: mariadb-check-database-role

This premigration assessment verifies whether the source database is a read replica. To enable CDC support for DMS when connected to a read replica, set the log_slave_updates parameter to True. For more information about using a self-managed MySQL database, see Using a self-managed MySQL-compatible database as a source for AWS DMS.

To set the log_slave_updates value to True, do the following:

  • For Amazon RDS, use the database's parameter group. For information about using RDS database parameter groups, see Working with parameter groups in the Amazon RDS User Guide.

  • For databases hosed on-premises or on Amazon EC2, set the log_slave_updates value in my.ini (Microsoft Windows) or my.cnf (UNIX).

This assessment is only valid for a full-load and CDC migration, or a CDC-only migration. This assessment is not valid for a full-load only migration.

Validate if a table has partitions, and recommend TRUNCATE_BEFORE_LOAD or DO_NOTHING for full-load task settings

API key: mariadb-check-table-partition

This premigration assessment checks for the presence of tables with partitions in the source database. DMS creates tables without partitions on the MariaDB target. To migrate partitioned tables to a partitioned table on the target, you must do the following:

  • Pre-create the partitioned tables in the target MariaDB database.

  • Configure your DMS task to use TRUNCATE_BEFORE_LOAD or DO_NOTHING as the full-load task setting.

For more information about MariaDB endpoint limitations, see Limitations on using a MySQL database as a source for AWS DMS.

Validate if DMS supports the database version

API key: mariadb-check-supported-version

This premigration assessment verifies whether the source database version is compatible with DMS. CDC is not supported with Amazon RDS MariaDB versions 10.4 or lower, or MySQL versions greater than 10.11. For more information about supported MariaDB versions, see Source endpoints for data migration.

Validate if the target database is configured to set local_infile to 1

API key: mariadb-check-target-localinfile-set

This premigration assessment checks whether the local_infile parameter in the target database is set to 1. DMS requires the 'local_infile' parameter to be set to 1 during full load in your target database. For more information, see Migrating from MySQL to MySQL using AWS DMS.

This assessment is only valid for a full-load task.

Validate if target database has tables with foreign keys

API key: mariadb-check-fk-target

This premigration assessment checks whether a full load or full and CDC task migrating to a MariaDB database has tables with foreign keys. The default setting in DMS is to load tables in alphabetical order. Tables with foreign keys and referential integrity constraints can cause the load to fail, as the parent and child tables may not be loaded at the same time.

For more information about referential integrity in DMS, see Working with indexes, triggers, and referential integrity constraints in the Improving the performance of an AWS DMS migration topic.

Validate if source tables in the task scope have cascade constraints

API key: mariadb-check-cascade-constraints

This premigration assessment checks if any of the MariaDB source tables have cascade constraints. Cascade constraints are not migrated or replicated by DMS tasks, because MariaDB doesn't record the changes for these events in the binlog. While AWS DMS doesn't support these constraints, you can use workarounds for relational database targets.

For information about supporting cascase constrains and other constraints, see Indexes, Foreign Keys, or Cascade Updates or Deletes Not Migrated in the Troubleshooting migration tasks in AWS DMS topic.

Validate if source tables in the task scope have generated columns

API key: mariadb-check-generated-columns

This premigration assessment checks whether any of the MariaDB source tables have generated columns. DMS tasks don't migrate or replicate generated columns.

For information about how to migrate generated columns, see Connections to a target MySQL instance are disconnected during a task.

Validate if the timeout values are appropriate for a MariaDB source

API key: mariadb-check-source-network-parameter

This premigration assessment checks whether a task’s MariaDB source endpoint has the net_read_timeout, net_wait_timeout and wait_timeout settings set to at least 300 seconds. This is needed to prevent disconnects during the migration.

For more information, see Connections to a target MySQL instance are disconnected during a task.

Validate if the timeout values are appropriate for a MariaDB target

API key: mariadb-check-target-network-parameter

This premigration assessment checks whether a task’s MariaDB target endpoint has the net_read_timeout, net_wait_timeout and wait_timeout settings set to at least 300 seconds. This is needed to prevent disconnects during the migration.

For more information, see Connections to a target MySQL instance are disconnected during a task.

Validate max_statement_time database parameter

API key:mariadb-check-max-statement-time

AWS DMS validates that the database source parameter max_statement_time is set to a value other than 0. It is required to set this parameter to 0 to accommodate the DMS full load process. You can consider changing the parameter value after the full load is completed, as setting it to a value other than 0 may result is loss of data.

Validate if Primary Key or Unique Index exist on target for Batch Apply

API key: mariadb-check-batch-apply-target-pk-ui-absence

Batch apply is only supported on tables with Primary Keys or Unique Indexes on the target table. Tables without Primary Keys or Unique Indexes will cause the batch to fail, and changes will be processed one by one. It is advisable to move such tables to their own tasks and utilize transactional apply mode instead. Alternatively, you can create a unique key on the target table.

For more information, see Using a MySQL-compatible database as a target for AWS Database Migration Service.

Validate if both Primary Key and Unique index exist on target for Batch Apply

API key: mariadb-check-batch-apply-target-pk-ui-simultaneously

Batch apply is only supported on tables with Primary Keys or Unique Indexes on the target table. Tables with Primary Keys and Unique Indexes simultaneously cause the batch to fail, and changes are processed one by one. It is advisable to move such tables to their own tasks and utilize transactional apply mode instead. Alternatively, you can drop a unique key(s) or primary key on the target table and rebuild it if you are doing migration.

For more information, see Using a MySQL-compatible database as a target for AWS Database Migration Service.

Validate if secondary indexes are enabled during full load on the target database

API key: mariadb-check-secondary-indexes

You must consider disabling or removing the secondary indexes from the target database. Secondary indexes can affect your migration performance during full load. It is advisable to enable secondary indexes before applying the cached changes.

For more information, see Best practices for AWS Database Migration Service.

Validate if table has primary key or unique index when DMS validation is enabled

API key: mariadb-check-pk-validity

Data validation requires that the table has a primary key or unique index on both source and target.

For more information, see AWS DMS data validation.

Recommendation on using MaxFullLoadSubTasks setting

This assessment checks the number of tables included in the task and recommends increasing the MaxFullLoadSubTasks parameter for optimal performance during the full load process. By default, AWS DMS migrates 8 tables simultaneously. Changing the MaxFullLoadSubTasks parameter to a higher value will improve the full load performance.

For more information, see Full-load task settings.

On this page

PrivacySite termsCookie preferences
© 2025, Amazon Web Services, Inc. or its affiliates. All rights reserved.