All Products
Search
Document Center

Solutions to pre-check failures

Last Updated: May 28, 2019

Before a real-time synchronization link is started, a simple pre-check is performed. This topic describes the pre-check process and the solutions to pre-check failures.

Items to be pre-checked

Source database connectivity

  • Description

    Checks the connectivity between the DTS server and the source RDS instance. DTS creates a connection to the source RDS instance through the JDBC protocol. When the connection fails, the check fails.

  • Cause of failure

    1. Data Transmission Service (DTS) does not support real-time synchronization of RDS instances in the region where the source instance is located.
    2. The source instance account or password is incorrect.
  • Solution

    Open a ticket and contact the Alibaba Cloud after-sales personnel.

Target database connectivity

  • Description

    Checks the connectivity between the DTS server and the target RDS instance. DTS creates connection to the target RDS instance through the JDBC protocol. When the connection fails, the check fails.

  • Cause of failure

    1. DTS does not support real-time synchronization of RDS instances in the region where the target instance is located.
    2. The target instance account or password is incorrect.
  • Solution

    Submit a ticket and contact Alibaba Cloud Customer Services.

Source database version

  • Description

    Checks whether:

    1. The source RDS instance version is supported by the real-time synchronization feature.
    2. The target RDS instance version is equal to or higher than the source RDS instance version.
  • Cause of failure

    1. The version of the source RDS instance is lower than the versions supported by DTS. Real-time synchronization currently only supports MySQL 5.1, 5.5, and 5.6.
    2. The target RDS instance version is lower than the source RDS instance version.
  • Solution

    1. If the source RDS version is too low, go to the RDS Console, upgrade the source RDS to version 5.6, and then recreate the synchronization link.
    2. If the version of the target RDS instance is lower than the source RDS instance, go to the RDS Console, upgrade the target RDS instance to version 5.6, and then recreate the synchronization link.

Database existence

  • Description

    Checks whether the database to be synchronized already exists in the target database. If the database to be synchronized does not exist in the target database, DTS creates one automatically. However, under the following circumstances, the automatic database creation fails, and the check reports a failure:

    1. The database name contains characters other than lowercase letters, numbers, underscores (_), and hyphens (-).
    2. The character set of the database is not UTF8, GBK, Latin1, or UTF8MB4.
    3. The migration account of the target database has no read and write permissions on the database to be synchronized.

      If the source database is an RDS instance, the check does not fail.

Source database privilege

  • Description

    Checks whether the synchronization account of the source database has the required permissions. When the synchronization account does not have the required permissions, this check fails. If the source database is an RDS instance, the check does not fail.

Target database permissions

  • Description

    Checks whether the synchronization account of the target database has the required permissions. When the synchronization account does not have the required permissions, the check item fails.

  • Cause of failure

    1. DTS fails to create an account in the target RDS instance.
    2. DTS fails to grant read and write permissions to the synchronization account of the target RDS instance.
  • Solution

    Submit a ticket and contact the technical support staff.

Cognominal objects

  • Description

    The check only applies when you have selected a synchronization link for the synchronization initialization. It checks whether an object with the same name as the object to be synchronized exists in the target RDS instance.

  • Cause of failure

    If an object with the same name as the object to be synchronized exists in the target RDS instance, the check fails.

  • Solution

    1. Delete the object in the target database that has the same name as the object to be synchronized.
    2. Then recreate a synchronization link. The synchronization initialization provides two options: object schema initialization and existing data initialization.

Source database server_id

  • Description

    Checks whether the source database server_id is set to an integer equal to or larger than 2. When the source database is an RDS instance, the check does not fail.

Source database binlog

  • Description

    Checks whether the source database has enabled binlog. If the check fails, it indicates that binlog has not been enabled in the source database. When the source database is an RDS instance, the check does not fail.

Source database binlog format

  • Description

    Checks whether the binlog mode of the source database is ROW. If this check item fails, the binlog format of the source database is not ROW. If the source database is an RDS instance, the check does not fail.

Constraint integrity

  • Description

    Checks whether all the parent and child tables with foreign key dependency in the synchronized object list have been synchronized. This protects the integrity of foreign key constraints.

  • Cause of failure

    Some of the synchronization objects are child tables with foreign key dependency, but their parent tables are not synchronized. This damages the integrity of foreign key constraints.

  • Solution

    There are three solutions for this problem:

    1. Recreate the synchronization task and do not synchronize the child tables that have failed in the constraints integrity check.
    2. Recreate the synchronization task and add the parent tables of the child tables that have failed in the constraints integrity check to the synchronization list.
    3. Modify the source database and delete the foreign key dependency of the child tables that have failed in the constraints integrity check. Recreate the synchronization task.

Storage engine check

  • Description

    Checks whether the storage engines not supported by the real-time synchronization feature exist in the synchronization objects, such as FEDERATED, MRG_MyISAM, and TokuDB.

  • Cause of failure

    If the synchronization objects contain FEDERATED, MRG_MyISAM, orTokuDB tables, the check fails.

  • Solution

    You need to change the unsupported storage engines to InnoDB and recreate the synchronization task.

Character set

  • Description

    Checks whether character sets not supported by real-time synchronization exist in the synchronization objects, such as UCS2.

  • Cause of failure

    When the character sets of the synchronization objects are not supported, the check fails.

  • Solution

    You need to modify the unsupported character sets to UTF8, GBK or Latin1, and then recreate the synchronization task.

Complex topology existence

  • Description

    Checks whether unsupported synchronization architectures exist in the source and target RDS instances of the synchronization task. Real-time synchronization supports one-to-one, many-to-one, one-to-many, cascaded, and two-way synchronization.

  • Cause of failure

    1. A synchronization task already exists in the source RDS instance that is also the target instance of the synchronization task.
    2. A synchronization task already exists in the target RDS instance.
    3. A migration task is in progress between the source and target RDS instances, and the objects to be migrated in the migration task overlaps the objects in the synchronization task to be created.
  • Solution

    1. If a synchronization task contains required source and target RDS instances, you can directly modify the existing synchronization link to synchronize new objects by selecting the synchronization objects and adding them to the link.
    2. If the synchronization link conflicts with an existing migration task, you have to wait until the migration task is complete before you can re-create the synchronization task.

MySQL old password format

  • Description

    Checks whether the password used by the source instance is an outdated password. If the source database is an RDS instance, the check does not fail.