Before Data Transmission Service (DTS) runs a data synchronization task, DTS performs a precheck on the source and destination databases. This topic describes how to troubleshoot precheck failures based on the causes.
Precheck item | Possible cause | Solution |
---|---|---|
Source database connectivity Destination database connectivity | The database account or password is invalid. | Obtain the valid password, and change the password of the source or destination database in the DTS console. The password is specified when you configure the data synchronization task. For more information, see Change the password of a database account. |
The IP address that is used to connect to the source or destination database is denied. |
| |
A firewall is configured on the server where the source or destination database resides. | Disable the firewall settings. | |
Source database version | DTS does not support the current database version. For more information, see Overview of data synchronization scenarios. | Upgrade or downgrade your database version. |
Database existence | If the destination database does not exist in the destination instance, DTS may fail to create a database due to the following reasons:
| Create a database in the destination instance or grant the required permissions to the database account. |
Source database permissions | The account that is used to connect to the source or destination database does not have the required permissions. For example, the dts.precheck.Unexpected error check item fails. Note The permissions that are required for a database vary with the database type. For more information, see Overview of data synchronization scenarios. | Grant the required permissions to the database account or use a database account that has required permissions to perform the data synchronization task. Note We recommend that you use other tools to verify whether the database account is granted the required permissions. |
Destination database permissions | ||
Object name conflict existence | The source and destination databases have the same name, or the source and destination tables have the same name. |
|
Value of server_id in the source database | The value of the server-id parameter is not set to an integer that is greater than or equal to 2. | Connect to the source database and change the value of the server-id parameter. For more information, see Value of server_id in the source database. |
Whether binary logging is enabled for the source database | The binary logging feature is disabled for the source database. | Connect to the source database and enable the binary logging feature. For more information, see Whether binary logging is enabled for the source database. |
Binary log format of the source database | The binary log format of the source database is set to ROW. | Connect to the source database, execute the set global binlog_format='ROW'; statement, and then restart the MySQL process. |
Integrity of the FOREIGN KEY constraints | The parent table on which a child table depends is not included in the required objects. This impairs the integrity of the FOREIGN KEY constraint. |
|
Storage engine | The storage engine of the source table is FEDERATED, MRG_MyISAM, or TokuDB. | Connect to the source database and set the storage engine of the source table to InnoDB. |
Character set | DTS does not support the character set of the required objects, such as UCS2. | Connect to the source database and set the character set of source tables to UTF8, GBK, Latin1, or UTF-8MB4. |
Complicated topologies existence | DTS does not support the topology that you use for the source and destination instances. For more information, see Synchronization topologies. | Stop the conflicting task or wait for the task to complete, and then perform data synchronization again. |
Format of MySQL database password | The format of the password that is used to connect to the source database is no longer valid. | Change the format of the database password. For more information, see old_passwords. |