- 5.1.1 Restoring a Compressed Backup
- 5.1.2 Restoring an Encrypted Backup Image
- 5.1.3 Restoring an Incremental Backup
- 5.1.4 Table-Level Recovery (TLR)
- 5.1.5 Restoring Backups Created with the --use-ttsOption
- 5.1.6 Restoring External InnoDB Tablespaces to Different Locations
- 5.1.7 Advanced: Preparing and Restoring a Directory Backup
      The mysqlbackup commands to perform a restore
      operation are copy-back-and-apply-log
      and copy-back (for directory backup
      only; see Section 5.1.7, “Advanced: Preparing and Restoring a Directory Backup”). Normally, the
      restoration process requires the database server to be already
      shut down (or, at least not operating on the directory you are
      restoring the data to), except for a
      partial restore. The
      process copies the data files, logs, and other backed-up files
      from the backup directory back to their original locations, and
      performs any required post-processing on them.
Example 5.1 Restoring a Database Server
mysqlbackup --defaults-file=<my.cnf> -uroot --backup-image=<image_name> \
  --backup-dir=<backupTmpDir> --datadir=<restoreDir> copy-back-and-apply-log
      The copy-back-and-apply-log command
      achieves two things:
- Extracts the backup from the image file and copies it to the data directory on the server to be restored. 
- Performs an apply log operation to the restored data to bring them up-to-date. 
      See Section 4.2.4, “Restoring a Database” for an explanation of
      the important options used in a restore operation like
      --defaults-file,
      --datadir,
      --backup-image, and
      --backup-dir.
    
      The restored data includes the backup_history
      table, where MySQL Enterprise Backup records details of each backup. The table
      allows you to perform future incremental backups using the
      --incremental-base= option.
history:{last_backup
      | last_full_backup}
- When performing a restore, make sure the target directories for restore data are all clean, containing no old or unwanted data files (this might require manual removal of files at the locations specified by the - --datadir,- --innodb_data_home_dir,- --innodb_log_group_home_dir, and- --innodb_undo_directoryoptions). The same cleanup is not required for partial restores, for which other requirements described in Section 5.1.4, “Table-Level Recovery (TLR)” apply.
- After a full restore, depending on how you are going to start the restored server, you might need to adjust the ownership of the restored data directory. For example, if the server is going to be started by the user - mysql, use the following command to change the owner attribute of the data directory and the files under it to the- mysqluser, and the group attribute to the- mysqlgroup.- $ chown -R mysql:mysql /path/to/datadir
The following subsections describe a number of different scenarios for restoring a backup.