Data Management (DMS) provides the data tracking feature. You can use this feature to find data changes that are performed in a specific time period and generate SQL statements for rolling back the data changes. This topic describes the data tracking feature and shows you how to use this feature.

Background information

If the data of an ApsaraDB RDS for MySQL instance does not meet your expectations due to accidental operations, such as accidental update, delete, and write operations, you can use the data tracking feature of DMS to restore the data of the RDS instance. This feature provides a method for you to restore data in a more efficient manner compared with other alternative restoration methods. For more information about the alternative restoration methods, see Restore the data of an ApsaraDB RDS for MySQL instance and Restore individual databases and tables of an ApsaraDB RDS for MySQL instance.

Differences between the data tracking feature and other alternative restoration methods

Restoration method Workflow Fee Speed Restorable time range
Data tracking Use the data tracking feature of DMS to identify all updates that are made over the specified time range, generate statements that are used to roll the updates back, and aggregate the generated statements into a script. Then, submit a ticket to run the script in the RDS instance. For more information, see Change regular data.
  • If an RDS instance is managed in Flexible Management mode, the data tracking feature is free of charge.
  • If an RDS instance is managed in Stable Change mode or Secure Collaborate mode, the data tracking feature is charged. For more information, see Price changes.
Fast The restorable time range varies based on the control mode and the binary log retention period.
  • If an RDS instance is managed in Flexible Management mode, the restorable time range spans up to 1 hour.
  • If an RDS instance is managed in Stable Change mode or Secure Collaborate mode, the restorable time range varies based on the following factors:
Restore the data of an ApsaraDB RDS for MySQL instance Restore all data of the original RDS instance to a new RDS instance, verify the data on the new RDS instance, and then migrate the data from the new RDS instance back to the original RDS instance, an existing RDS instance, or an on-premises database instance.
  • You are charged for the new RDS instance. For more information about the price, visit the ApsaraDB RDS buy page.
  • You are charged for your backup storage usage that exceeds the provided free quota. For more information, see Backup storage pricing for an ApsaraDB RDS for MySQL instance.
  • You are charged for the traffic that is consumed to migrate the data of the RDS instance over the Internet. For more information, see Pricing.
Slow The restorable time range varies based on the log backup retention period and the data backup retention period. The restorable time range spans up to 730 days. For more information about how to specify these retention periods, see Enable automatic backups for an ApsaraDB RDS for MySQL instance.
Restore individual databases and tables of an ApsaraDB RDS for MySQL instance Enable the Restore Individual Database/Table feature. Then, restore the data of the specified individual databases and tables to a new RDS instance or an existing RDS instance. If you restore the data to an existing RDS instance, a primary/secondary switchover is triggered.
  • If you restore the data to a new RDS instance, you are charged for the new RDS instance. For more information about the price, visit the ApsaraDB RDS buy page.
  • You are charged for your backup storage usage that exceeds the provided free quota. For more information, see Backup storage pricing for an ApsaraDB RDS for MySQL instance.
Slow The restorable time range varies based on the log backup retention period and the point in time at which the Restore Individual Database/Table feature is enabled. The log backup retention period spans up to 730 days. For more information, see Back up the individual databases and tables of an ApsaraDB RDS for MySQL instance.

Prerequisites

  • The RDS instance runs MySQL 5.6 or a later version.
  • If the RDS instance is managed in Flexible Management mode or Stable Change mode, you have logged on to the RDS instance. If the RDS instance is managed in Security Collaboration mode, you do not need to log on to the RDS instance, but you must have obtained the permissions on the databases whose data you want to restore. For more information, see Control modes.

Procedure

  1. Log on to the DMS console.
  2. In the top navigation bar, move the pointer over the All functions icon and choose Data Plans > Data Tracking.
  3. In the upper-right corner of the Data Tracking tab, click Data Tracking.
  4. In the Data Track Ticket Application dialog box, set the parameters that are described in the following table.
    Parameter Description
    Task Name The name of the task. This helps you find the ticket in subsequent operations and allows approvers to know the purpose of the ticket with ease.
    Database Name The name of a specific database in a specific database instance. You must have permissions to manage the database in DMS. Enter the prefix of a database name in the field and select the database from the matched results.
    Table Name The one or more tables where you want to track data operations. Enter the prefix of a table name in the field and select the table from the matched results.
    Track Type The type of data operation that you want to track. You can select one or more types as needed. Valid values:
    • Insert: DELETE statements will be generated to roll back INSERT operations that are tracked.
    • Update: UPDATE statements will be generated to roll back UPDATE operations that are tracked.
    • Delete: INSERT statements will be generated to roll back DELETE operations that are tracked.
    Time Range The time range in which you want to track data operations. The default time range is the last 2 hours. You can track data operations in the last 6 hours at most in a single ticket. If the time range that you specify exceeds 6 hours, split the time range and submit multiple tickets. The earliest start time of the time range that you can specify is the point in time at which binary logs were first stored on the database server.
    Change Stakeholder The stakeholders of the ticket. Only users who are relevant to the ticket, including those who participate in the approval process of the ticket, can view ticket details.
  5. Click Submit. DMS automatically retrieves binary logs.
    After the binary logs are obtained, the ticket enters the Approval step.
    Note If the binary logging feature is disabled or you have not logged on to the database, DMS cannot obtain the binary logs.
  6. Wait for approval.
    Note By default, a data tracking ticket is approved by a database administrator (DBA) of a database. For more information about the security rules for approving data tracking tickets, see Data Tracking.
  7. After the ticket is approved, DMS downloads and parses the binary logs.
  8. After the binary logs are parsed, select the change records that you want to roll back and click Export Rollback Script.
    Note You can also perform the following operations:
    • Select multiple change records and export the rollback statements for these records at a time. By default, each page displays 10 records. A maximum of 200 records can be displayed on each page. You can specify the number of records to be displayed per page as needed.
    • To view the details of a record and copy the rollback statement, click View Details to the right of the record name.
    • Filter INSERT, UPDATE, and DELETE records by setting the Track Type parameter.

What to do next

After the rollback script is exported, you can submit a Normal Data Modify ticket. You can upload the exported script as the SQL statements for data change, run the script, and then apply changes to the database where you want to perform changes. For more information, see Change regular data.