Data Disaster Recovery protects MySQL databases with geo-redundancy, long-term archiving, and fine-grained restoration. This guide covers how to configure a logical backup schedule and restore data for a MySQL database hosted on a third-party cloud or in a self-managed environment.
Features
| Feature | Description |
|---|---|
| Incremental backup | Uses incremental log streaming to retrieve binary log files in real time. Requires binary logging enabled on the source database. |
| Full backup | Logical backups are stored in Parquet format. Physical backups are stored in gzip format. |
| Backup set download | Download backup sets for local use or archival. |
| Geo-redundancy | Supports cross-region backup for MySQL databases. Backup data can be restored to a cloud MySQL database or a self-managed MySQL database in the source region, destination region, or another region. |
| Long-term archiving | Retains backup data for up to 10 years. After the retention period expires, backup sets are transferred to Archive Storage. |
| Fine-grained backup | Back up multiple databases, a single database, or a single table. |
| Single-table restoration | Restore a single table without restoring the entire database instance, reducing recovery time objective (RTO). |
To enable point-in-time recovery (PITR), enable both full backup and incremental backup. Full backup alone only lets you restore to the point when a full backup completed.
Prerequisites
Before you begin, make sure you have:
-
A backup schedule purchased with Data Source Type set to MySQL and Backup Method set to Logical Backup. See Create a backup schedule.
-
The required database account permissions. For details, see Required permissions for different types of database accounts.
-
For self-managed databases: binary logging enabled on the source database (required for incremental backup).
Configure a backup schedule
-
Log on to the DMS console V5.0.
-
In the top navigation bar, choose Security and Specifications (DBS) > Disaster Recovery for Data (DBS) > Backup Plan.
If you use the DMS console in simple mode, move the pointer over the
icon in the upper-left corner and choose All Features > Security and Specifications (DBS) > Disaster Recovery for Data (DBS) > Backup Plan. -
On the Backup Schedules page, find the target backup schedule and click Configure Backup Schedule in the Actions column.

-
In the Configure Backup Source and Destination step, configure the parameters below, then click Next.
Schedule name and backup source
Parameter Description Schedule Name A name for the backup schedule. Data Disaster Recovery generates a name automatically. Enter a descriptive name for easier identification. Names do not need to be unique. Backup Mode The backup method. Defaults to the method selected when you purchased the schedule. This guide uses Logical Backup. Database Location The location of the source database. Options:<br>• No public network IP: Port's self-built database (accessed through the database gateway): connects through a database gateway. Also configure Gateway instance ID. Set up the database gateway before proceeding.<br>• User-Created Database with Public IP Address \<IP Address:Port Number>: connects via public IP. Also configure Address and Port Number.<br>• ECS-Hosted Database: database hosted on an Elastic Compute Service (ECS) instance. Also configure ECS Instance ID and Port Number.<br>• Express Connect DB/VPN Gateway/Intelligent Gateway: connects through a Virtual Private Cloud (VPC). Also configure Peer VPC. Set up the VPC before proceeding.<br>• PolarDB: backs up a PolarDB for MySQL cluster. Also configure PolarDB Cluster ID. Instance Region The region of the source database instance. Displayed only when Database Location is set to RDS Instance, PolarDB, ECS-Hosted Database, or No public network IP: Port's self-built database (accessed through the database gateway). PolarDB Cluster ID The ID of the PolarDB cluster to back up. Displayed only when Database Location is set to PolarDB. Database Type The type of the source database. Default value: MySQL. Displayed only for User-Created Database with Public IP Address, PolarDB, ECS-Hosted Database, Express Connect DB/VPN Gateway/Intelligent Gateway, and No public network IP options. Peer VPC The VPC where the source database resides. Displayed only when Database Location is set to Express Connect DB/VPN Gateway/Intelligent Gateway. ECS Instance ID The ID of the ECS instance where the source database is deployed. Displayed only when Database Location is set to ECS-Hosted Database. Gateway instance ID The ID of the database gateway. Displayed only when Database Location is set to No public network IP: Port's self-built database (accessed through the database gateway). Address The endpoint used to connect to the source database. If firewall rules are configured on the server, click Set Whitelist to get the CIDR blocks of Data Disaster Recovery, then add them to the server's whitelist. Displayed only for the gateway, VPC, and public IP options. Port Number The port used to connect to the source database. Database Account The username of the account used to connect to the source database. The account must have backup permissions. Password The password for the database account. After entering credentials, click Test Connection to validate them. If the test fails, click Check and update the parameters based on the diagnostic results. SSL Encryption The connection encryption method:<br>• Non-encrypted<br>• SSL-encrypted: adds SSL at the transport layer for stronger data integrity, but increases connection latency. To use SSL encryption, enable SSL on the ApsaraDB RDS instance first. Compliance warranty regarding cross-border data transfers Read and select the check box to agree to the compliance commitment. Backup destination
Parameter Description Backup Storage Type Where backup data is stored:<br>• DBS Storage (recommended): Data is stored in Data Disaster Recovery directly. No Object Storage Service (OSS) bucket needed. Charged by volume. See Storage fees. If you want to store a large amount of data, we recommend that you purchase a subscription storage plan to offset Data Disaster Recovery built-in storage fees. Storage plans are more cost-efficient than the pay-as-you-go billing method.<br>• OSS For User: You supply your own OSS bucket (Standard storage class only). Create the bucket before proceeding. See Create buckets. If you select this option, also configure OSS Bucket Name. Storage Encryption How stored backup data is encrypted:<br>• Encrypted (recommended): uses AES-256 server-side encryption.<br>• Non-encrypted: backup data is stored without encryption. 
-
In the Edit Backup Objects step, find the databases or tables to back up in the Available section, click the rightwards arrow to move them to the Selected section, then click Next.
Data Disaster Recovery supports backing up multiple databases, a single database, or a single table. Click Select All to select all available databases. By default, databases created after the backup schedule is configured are not included. To add them later, see Modify backup objects.
-
In the Configure Backup Time step, set the following parameters, then click Next.
Parameter Description Full-scale Backup Frequency Periodic Backup (recurring) or Single Backup (one-time). For Periodic Backup, also configure Full Data Backup Recurrence and Start At. Full Data Backup Recurrence The days of the week on which full backups run. Select at least one day. Start At The backup start time. Schedule during off-peak hours to reduce impact on the database. Example: 01:00. If the previous full backup is still running at the scheduled start time, the next backup is skipped.Incremental Backup Enable to capture changes between full backups in real time. Requires binary logging on the source database. For ApsaraDB RDS for MySQL, binary logging is on by default. For self-managed databases, enable it manually. Enable this option together with full backup to support PITR. Displayed only when Full-scale Backup Frequency is set to Periodic Backup. Maximum Concurrent Threads for Full Data Backup The maximum number of parallel threads for a full backup. Reduce this value to limit the impact on database performance during backup. Backup network speed limit The maximum network bandwidth used during backup, in MB/s. The default value 0means unlimited. Reduce this value if the backup is noticeably degrading database performance. -
In the Edit Lifecycle step, configure the retention period for full backup data. If you enabled Incremental Backup in the previous step, also configure the retention period for incremental backup data. For lifecycle rule details, see How do I manage the lifecycle rules of backup sets?
-
Click Precheck.
-
When Precheck Passed appears, click Start Task. The backup schedule is active when its state changes to Running. If the state does not change to Running or errors occur, see How do I fix errors for an abnormal backup schedule? or contact technical support in the DingTalk group (ID: 35585947).
Restore from a backup
Use this procedure to restore a MySQL database to a previous state after data loss, corruption, or accidental modification.
Make sure the database account specified in the restore task has write permissions on the destination database. For details, see Required permissions for different types of database accounts.
-
On the Backup Schedules page, find the backup schedule and click Manage in the Actions column.
-
On the Configure Task page, click Restore Database in the upper-right corner.
-
In the Set Time Restored To step, configure the parameters below, then click Next.
Parameter Description Task Name A name for the restore task. Data Disaster Recovery generates a name automatically. Enter a descriptive name for easier identification. Names do not need to be unique. Time Range Available to Restore The restorable time range: from the first full backup to the most recent backup. Restore To The target point in time. Must fall within the Time Range Available to Restore. With incremental backup enabled, restore to any point from the first full backup to the last incremental backup. Without incremental backup, restore only to a full backup completion point. Target database instance type New(Recommend): Data Disaster Recovery provisions a new ApsaraDB RDS instance (takes 5–10 minutes). Use Exists: restores to an existing database instance. Make sure the destination is available before starting. Database Location For New(Recommend), select RDS Instance. For Use Exists, choose the connectivity option that matches the destination database: gateway, public IP, ECS-hosted, RDS, VPC, or PolarDB. Instance Region The region of the destination instance. Not shown when Database Location is set to User-Created Database with Public IP Address. VPC The VPC for the new database instance. See Create and manage a VPC. Displayed only when Target database instance type is set to New(Recommend). DB InstanceClass The instance type for the new database. Select the same instance type as the source, or a higher-spec type. Storage Space(GB) The storage size for the new database. Select at least 1.3× the source database size, or 5–6× the full backup set size. Data is compressed during backup, so the backup set is smaller than the original data. Database Type MySQL. Shown only when Database Location is set to No public network IP: Port's self-built database (accessed through the database gateway). Gateway instance ID The gateway for the self-managed destination database. See Install a backup gateway. Shown only for the gateway option. Address The endpoint of the destination database. Shown for gateway, public IP, ECS-hosted, and VPC options. Port Number The port of the destination database. Shown for gateway and public IP options. Database Account The username for the destination database. The account must have write permissions. Password The password for the destination database account. Compliance warranty regarding cross-border data transfers Read the statement and select I have read and agree to the preceding compliance commitment. 
-
In the Configure Objects to Restore step, configure the parameters below, then click Precheck.
Parameter Description Conflict Handling How to handle name conflicts with existing objects. By default, Rename Object with the Same Name is selected: if the restored table shares a name with an existing table in the destination database, the restored table is renamed in the format <table_name>_dbs_<restore_task_id>_<timestamp>. For example,job_infobecomesjob_info_dbs_<Restore task ID>_<Timestamp>.Objects to Restore Select the databases or tables to restore from the Available section and click the rightwards arrow to move them to the Selected section. Data Disaster Recovery supports database-level and table-level granularity to reduce the amount of data restored and shorten RTO. See Supported database types and features. -
When Precheck Passed appears, click Start Task. To monitor progress, click Restore Tasks in the left-side navigation pane.
Restoration time depends on the backup schedule specifications and the database size. Higher-spec schedules offer faster restoration. See Performance tests on logical backup and physical backup. If data is restored to a new ApsaraDB RDS instance, the system takes about 5–10 minutes to provision the instance. After restoration, view the new instance in the ApsaraDB RDS console. Alternatively, on the Restore Tasks page, click the restore task ID, then click the ApsaraDB RDS instance ID in the Basic Information section.
What's next
-
API: Use the
CreateBackupPlanoperation to create a backup schedule, or useCreateAndStartBackupPlanto create, configure, and start one in a single call. See CreateBackupPlan and CreateAndStartBackupPlan. -
Manage schedules: Modify the backup source, backup objects, backup timing, or retention policy of an existing schedule. See Manage a backup schedule.
-
Billing: Review applicable charges for your backup schedule. See Billing FAQ.
-
Pause schedules: Pause a backup schedule you no longer need to avoid unnecessary costs. See Pause or start a backup schedule.