This topic describes how to download the backup files of an ApsaraDB RDS for MySQL instance.

For more information about how to download the backup files of an RDS instance that runs a different database engine, see the following topics:

Before you begin

Before you download the backup files of your RDS instance, you must select a download method based on your business scenario.
Note The data of the backup files that you download cannot be directly restored to your RDS instance. For more information, see Overview of data restoration methods.
Business scenario Recommended download method
  • Migrate the data of your RDS instance to a different RDS instance or to a self-managed MySQL instance.
  • Restore the data of your RDS instance from a backup file.
Use one of the following methods:
  • Query the data that exists in your RDS instance at a specific point in time.
  • Query the data of a backup file of your RDS instance.
Use one of the following methods:
  • Restore the backup file to a new pay-as-you-go RDS instance. After the query is complete, release the pay-as-you-go RDS instance. For more information about how to restore data, see Restore the data of an ApsaraDB RDS for MySQL instance.
  • Obtain the URL that you can use to download the backup file. For more information, see the "Perform a regular download" section of this topic. Download the backup file, restore the backup file to a self-managed MySQL instance, and then query the data from the self-managed MySQL instance.
  • If the backup file is generated by Database Backup (DBS), you do not need to restore the backup file. Directly query the data from the backup file. For more information, see Query data in a single backup set.
  • Analyze the data of your RDS instance.
  • Archive the data of your RDS instance to an on-premises device.
For more information, see Perform an advanced download
  • Save a backup file of your RDS instance to an on-premises device.
  • Download a backup file of your RDS instance and use the backup file for auditing.
Use one of the following methods:
  • Upload a backup file of your RDS instance to an Object Storage Service (OSS) bucket.
Backup files do not consume the storage capacity of your RDS instance. Backup files are stored in the provisioned backup storage and cannot be moved. Use one of the following methods to store a backup file of your RDS instance to an OSS bucket:
  • Use DBS to back up your RDS instance. Make sure that you select an OSS bucket as your storage. For more information, see Configure a backup schedule.
  • Obtain the URL that you can use to download the backup file. For more information, see the "Perform a regular download" section of this topic. Then, download the backup file and upload it to the specified OSS bucket.
  • Retain the backup files of your RDS instance for a long period of time.
  • Configure DBS to automatically download the backup files of your RDS instance.

Backup storage fee

  • ApsaraDB RDS provides a free quota for backup downloads over the Internet. Starting from 00:00 on November 25, 2021, you are charged for the excess traffic that you consume to download backup files over the Internet. For more information,see [Notice] Upgrade and commercial release of the backup download feature.
    • Downloads over an internal network: You are not charged for the traffic that you consume.
    • Downloads over the Internet: After the free quota is exhausted, you are charged a daily fee for the excess traffic that you consume. For more information, see Billing overview.
    • Free quota for backup downloads over the Internet: The free quota for each RDS instance is 500 GB per month.
  • You are charged if you convert the backup files of your RDS instances. This applies only when you perform advanced downloads. The advanced download feature is in public preview. In the public preview phase, advanced downloads are free of charge.
Note

To view the volume of traffic that you consumed to download backup files over the Internet, you can log on to the ApsaraDB RDS console, find your RDS instance, go to the Basic Information page, and then view the Backup Downloads parameter in the Usage Statistics section of the page.

Perform an advanced download

You can convert a backup file of your RDS instance into a CSV file and download the file to an on-premises device. This process is called advanced download. If you want to analyze data or archive data to an on-premises device, you can perform advanced downloads.

Note The advanced download feature is available only in the China (Zhangjiakou), China (Guangzhou), China (Beijing), China (Shanghai), China (Hangzhou), and China (Shenzhen) regions. The feature will be available in the other regions soon.
Prerequisites
  • Your RDS instance runs one of the following MySQL versions:
    • MySQL 8.0 with standard SSDs or enhanced SSDs (ESSDs)
    • MySQL 5.7 with standard SSDs or ESSDs
  • The minor engine version of your RDS instance must be a later version than 20201031. For more information, see Upgrade the minor engine version of an RDS instance.
  • The disk encryption feature is not enabled for your RDS instance. RDS instances for which disk encryption is enabled do not support advanced downloads.
  • The Resource Access Management (RAM) user that you want to use to log on to your RDS instance is granted the permissions to download backup files. For more information about how to grant permissions to a RAM user, see Grant backup file download permissions to a RAM user with read-only permissions.

Limits

  • The advanced download feature allows you to export most schemas. Some schemas cannot be exported.
    • You can export column information, primary key indexes, non-primary key indexes, unique indexes, partition table information, table engines, and table-level or database-level character sets and character collations.
    • You cannot export expression indexes, foreign keys, generated columns, hidden columns, views, functions, stored procedures, system variables, or triggers.
  • The advanced download feature does not support fields of spatial data types. If your RDS instance contains fields of the following spatial data types, file conversions fail:

    GEOMETRY, POINT, LINESTRING, POLYGON, MULTIPOINT, MULTILINESTRING, MULTIPOLYGON, and GEOMETRYCOLLECTION

  • The CSV files that you export from your RDS instance do not contain the following system libraries:

    information_schema, mysql, performance_schema, sys, and __recycle_bin__

Procedure

  1. Access RDS Instances, select a region at the top, and then click the ID of the target RDS instance.
  2. In the left-side navigation pane, click Backup and Restoration.
  3. On the Data Backup tab of the page that appears, find the data backup file that you want to download, and click Download Instance Backup in the Actions column.
    Note By default, the ApsaraDB RDS console displays the backup files that were generated over the most recent eight days. If you want to view the backup files that were generated eight days ago, you must change the default time range.
  4. In the Select Download Mode step of the wizard, click Next.
    Note Only the Download By Backup Set option is provided.
  5. In the Select Download Content step of the wizard, click Next.
    Note Only the Download Instances option is provided.
  6. In the Select Download Destination and Format step of the wizard, specify the Download Destination and Download Format parameters and click Complete.
    Note
    • Download Destination: Select the method that you want to use to download the data backup file. You can download backup files only by using URLs.
    • Download Format: Select the format into which you want to convert the data backup file. You can convert data backup files only into CSV files.
  7. On the Backup Download tab to which you are directed, view the Status of the data backup file. After the status changes from Running to Finished, download the data backup file by using the internal or external URL that is displayed in the Download Destination column.
    Note
    • For more information about how to download data backup files, see Appendix: Download commands.
    • When you perform an advanced download, you are charged a file conversion fee and a traffic consumption fee. In the public preview phase, file conversions and downloads over internal networks are free of charge. Downloads over the Internet are charged. For more information about the fees that are charged to you, see Backup storage fee.
  8. Restore the data of the data backup file to a self-managed MySQL instance.

    Limits

    When you restore the data of a CSV file that you downloaded by using the advanced download feature to a self-managed MySQL instance, take note of the following limits:
    • Fields of the following data types are not supported: BIT, BINARY, VARBINARY, TINYBLOB, BLOB, MEDIUMBLOB, and LONGBLOB.
      Note If the CSV file that you downloaded contains fields of the BINARY data type, the fields are stored as hexadecimal representations. When you import the data of the CSV file into the self-managed MySQL instance, the fields that are stored as hexadecimal representations are processed as strings. In this case, you must use the UNHEX function in the load data local infile command to convert the fields from hexadecimal strings into raw binary strings.
    • Fields of the following spatial data types are not supported: GEOMETRY, POINT, LINESTRING, POLYGON, MULTIPOINT, MULTILINESTRING, MULTIPOLYGON, and GEOMETRYCOLLECTION.
    Procedure
    1. Download and decompress the data backup file. For more information, see Restore the data of an ApsaraDB RDS for MySQL instance from a physical backup file to a self-managed MySQL database.
    2. Click Download to download the restore_from_downloads.py script file.
    3. Grant execute permissions to the restore_from_downloads.py script file.
      chmod +x ./restore_from_downloads.py
    4. On the server that runs a Linux operating system, run the following command to restore the data of the data backup file:
      python ./restore_from_downloads.py <Save path of the decompressed data backup file> <Host on which the self-managed MySQL instance is deployed> <Port that is used to connect to the self-managed MySQL instance> <Username of the account that is used to connect to the self-managed MySQL instance> <Password of the account that is used to connect to the self-managed MySQL instance>
      Note
      • If a database in the self-managed MySQL instance has the same name as the database whose data you want to import, the import fails.
      • If the username or password of the account that you want to use contains special characters, such as number signs (#) and spaces, you must enclose the username or password in double quotation marks (" "). For example, if the password is #1234, you must enter "#1234" in the preceding command.
      1

Perform a regular download

Prerequisites

Procedure

  1. Access RDS Instances, select a region at the top, and then click the ID of the target RDS instance.
  2. In the left-side navigation pane, click Backup and Restoration.
  3. Click the Data Backup tab or the Log Backup tab.
  4. Select a time range. This step is required if you want to view the backup files that are generated eight days ago. The default time range spans the most recent eight days.
  5. Find the backup file that you want to download. In the Actions column, click Download Instance Backup (on the Data Backup tab) or Download (on the Log Backup tab).
    • When you download a data backup file, copy the internal or external URL or click Download in the dialog box that appears to download the data backup file.
      Notice
      • If you use the internal URL to download the data backup file, make sure that the server to which you log on and the RDS instance reside in the same virtual private cloud (VPC). If the server and the RDS instance reside in different VPCs or if the server resides in the classic network while the RDS instance resides in a VPC, you cannot download the data backup file by using the internal URL on the server.
      • I have learnt the billing rules for backup file download. is selected by default. If you use the external URL to download the data backup file, you are charged for the excess Internet traffic that you consume. For more information,see Backup storage fee.
      • For more information about how to download data backup files by using URLs, see Appendix: Download commands.
    • When you download a log backup file, copy the internal or external URL or click Download in the dialog box that appears to download the backup file.
      • Copy Internal URL: If your Elastic Compute Service (ECS) instance can communicate with the RDS instance over an internal network, you can log on to your ECS instance and use the internal URL to download the log backup file. This method is faster and more secure.
      • Copy Public URL: If the RDS instance cannot be connected over an internal network, you can use the public URL to download the log backup file.
      Notice
      • If you want to use the log backup file to restore the data of the RDS instance to a self-managed MySQL instance, the point in time at which the used data backup file is generated must be within the restorable time range that is supported by the log backup file. In addition, the log backup file and the data backup file must have the same instance ID.
      • If the RDS instance runs RDS High-availability Edition or RDS Enterprise Edition, both the primary RDS instance and the secondary RDS instance generate log backup files. You can view the IDs of the primary RDS instance and the secondary RDS instance on the Service Availability page.
      • The log backup files that are described in this section are the log backup files that are stored on the RDS instance. For more information about how to obtain these log backup files, see How do I use the mysqlbinlog command to view the binary logs of an ApsaraDB RDS for MySQL instance?
      • If you use the internal URL to download the data backup file, make sure that the server to which you log on and the RDS instance reside in the same VPC. If the server and the RDS instance reside in different VPCs or if the server resides in the classic network while the RDS instance resides in a VPC, you cannot download the data backup file by using the internal URL on the server.
      • I have learnt the billing rules for backup file download. is selected by default. If you use the external URL to download the data backup file, you are charged for the excess Internet traffic that you consume. For more information,see Backup storage fee.

Appendix: Download commands

This section describes the commands that are commonly used to download backup files.

Note
  • If the speed of a download is lower than 64 KB per second, the download may be interrupted. When you download a backup file, we recommend that you ensure optimal network status.
  • If you want to download a backup file to a disk that is attached by using the ossfs plug-in, you must adjust the value of the multipart_size parameter for the ossfs plug-in. The maximum value of this parameter is 100 GB. If the size of the data backup file that you want to download exceeds 100 GB, the download fails. For more information about the ossfs plug-in and its parameter settings, see Overview and Common options.
  • We recommend that you use the commands, such as wget and curl, that are provided in this topic to download a data backup file. If you use third-party tools to download a data backup file, the data backup file may be downloaded multiple times. As a result, the amount of data that is downloaded is greater than the size of the data backup file. In addition, you may be charged for the traffic that is consumed to download the excess amount of data over the Internet.

Command: nohup wget -c -t 0 "The URL that is used to download the backup file" -O The save path and name of the downloaded backup file> The file to which the downloaded data is saved &

Example: nohup wget -c -t 0 "https://example.aliyundoc.com/examplebackup.qp.xb" -O /backup/examplebackup.qp.xb > /tmp/download.log &

The following information provides the meanings of the options in the preceding command:

  • -t 0: enables an unlimited number of retries.
  • -c: enables resumable uploads.
  • -O: specifies the save path and file name of the backup file after the backup file is downloaded.
  • nohup: prevents interruptions to the download and specifies that the process automatically exits after the download is complete. If you accidentally replicate data or disconnect your database client during the download, the download is interrupted.

Command: nohup curl -C - --retry 10 "The URL that is used to download the backup file" -o The user-defined name of the downloaded backup file> The file to which the downloaded data is saved &

Example: nohup curl -C --retry 10 "https://example.aliyundoc.com/examplebackup.qp.xb" -o backup.qp.xb > /tmp/download.log &

The following information provides the meanings of the options in the preceding command:

  • --retry 10: enables up to 10 retries if the download fails.
  • -C -: enables resumable uploads.
  • -o: specifies the save path and file name of the backup file after the backup file is downloaded.
  • nohup: prevents interruptions to the download and specifies that the process automatically exits after the download is complete. If you accidentally replicate data or disconnect your database client during the download, the download is interrupted.

FAQ

How do I use the data backup files and log backup files that I downloaded?

You can restore the data of the backup files that you downloaded by using the advanced download feature to self-managed MySQL instances. For more information, see Restore the data of an ApsaraDB RDS for MySQL instance from a physical backup file to a self-managed MySQL database or Restore the data of an ApsaraDB RDS for MySQL instance from a logical backup file to a self-managed MySQL instance.

My RDS instance runs standard SSDs or ESSDs. What do I do if the "ERROR 1148 (42000): The used command is not allowed with this MySQL version" error message appears when I restore the data of a backup file that I downloaded by using the advanced download feature to a self-managed MySQL instance?

Run the show variables like 'local_infile'; command on the self-managed MySQL instance. If the output is OFF, execute the SET statement to set the global local_infile parameter to 1 to enable file import. After the preceding operations are complete, run the import script again.

Related operations

Operation Description
DescribeBackups Queries the data backup files of an ApsaraDB RDS instance.
DescribeBinlogFiles Queries the log backup files of an ApsaraDB RDS instance.