The restore operations restores the data files from a backup to their original locations on the database server, or to other desired locations. 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 restorations of backups created with the--use-tts option. The optionsdatadir,innodb_log_files_in_group, andinnodb_log_file_size must be specified either in the target server's configuration file, in the file specified by the--defaults-file option, or as command-line options. For usage examples, seeChapter 5,Recovering or Restoring a Database.
mysqlbackup [STD-OPTIONS] [SERVER-REPOSITORY-OPTIONS] [--backup-image=IMAGE] [--backup-dir=PATH] [--uncompress] [MESSAGE-LOGGING-OPTIONS] [PARTIAL-BACKUP-RESTORE-OPTIONS] [PROGRESS-REPORT-OPTIONS] [ENCRYPTION-OPTIONS] [CLOUD-STORAGE-OPTIONS] [ENCRYPTED-INNODB-OPTIONS] copy-back-and-apply-log mysqlbackup [STD-OPTIONS] [SERVER-REPOSITORY-OPTIONS] [--backup-dir=PATH] [--uncompress] [MESSAGE-LOGGING-OPTIONS] [PARTIAL-BACKUP-RESTORE-OPTIONS] [PROGRESS-REPORT-OPTIONS] [CLOUD-STORAGE-OPTIONS] [ENCRYPTED-INNODB-OPTIONS] copy-backcopy-back-and-apply-logIn a single step, restores asingle-file backup specified by the
--backup-imageoption or a backup from the directory specified by the--backup-diroption to a server's data directory and performs anapply-logoperation to the restored data to bring them up-to-date. Comparing with a multi-step approach for restoring asingle-file backup (which typically consists of performing the successive steps ofextract,uncompress,apply-log, andcopy-back for restoring compressed image, orextract ,apply-log, andcopy-back for uncompressed image), the command makes the restoration process simpler and faster, and also saves the disk space required.The following are some special requirements for different kinds of backup restoration using
copy-back-and-apply-log:To restore a compressed directory or image, include the
--uncompressoption in the command line.To restore a single-file backup, besides specifying the location of the backup image with the
--backup-imageoption, also supply with the--backup-diroption the location of a folder that will be used for storing temporary files produced during the restoration process.To restore a single-file incremental backup, assuming the full backup (on which the incremental backup was based) has already been restored:
Include the
--incrementaloption in the command line.Specifies the location of the incremental backup image with the
--backup-imageoptionSupplies with the
--backup-diroption the location of a folder that will be used for storing temporary files produced during the restoration process.
Advanced: To restore an incremental backup directory, assuming the full backup (on which the incremental backup was based) has already been restored:
Include the
--incrementaloption in the command line.Use either the
--backup-diror--incremental-backup-diroption to specify the incremental backup directory.
To restore a backup created with the
--use-tts option:See the general requirements described inSection 5.1.4, “Restoring Backups Created with the
--use-ttsOption”.When restoring a single-file backup created with the option setting
--use-tts=with-minimum-locking, the folder specified with--backup-diris also used for extracting temporarily all the tables in the backup and for performing anapply-logoperation to make the data up-to-date before restoring them to the server's data directory.Advanced:When restoring a backup directory created with the option
--use-tts=with-minimum-locking, anapply-logoperation will be performed on the backup directory. That means the backup taken will be altered during the process, and users might want to make an extra copy of the backup directory before proceeding with the restoration, in order to prevent the loss of backup data in case something goes wrong.
Also note that:
Backups created with the
--skip-unused-pagesoption cannot be restored usingcopy-back-and-apply-log.For image backups taken with MySQL Enterprise Backup 3.8.2 or earlier, per-table
.ibdfiles pointed to by.islfiles in a backup are restored bycopy-back-and-apply-logto the server's data directory rather than the locations pointed to by the .isl files.Due to a known issue, when restoring a compressed backup created with MySQL Enterprise Backup 3.9 or earlier and containing any InnoDB tables that were created on the server as compressed tables (by using the
ROW_FORMAT=COMPRESSEDoption, theKEY_BLOCK_SIZE=option, or both), do not usecopy-back-and-apply-log; instead, perform anapply-logfirst, and then acopy-back. See entry for Bug# 17992297 in theMySQL Enterprise Backup 3.10.0 changelog for details.
At the end of the
copy-back-and-apply-logoperation, the filebackup_variables.txtis being created or updated in the data directory. This file contains metadata about the restored contents and is being used by successive single-step restores of incremental backups; it should not be deleted or modified by users.For some sample commands for restoring different kinds of backups with the
copy-back-and-apply-logcommand, seeSection 5.1, “Performing a Restore Operation”.
copy-backRestores files from a directory backup to their original locations within the MySQL server.
Before restoring ahot backup using the
copy-backcommand, the backup has to beprepared and made consistent using theapply-logcommand. SeeSection 5.1.7, “Advanced: Preparing and Restoring a Directory Backup” for details. You can also performapply-logandcopy-backtogether with a singlecopy-back-and-apply-logcommand.Some clean-up efforts on the target directory for restoration might be needed before performing a full restore (for example, when the backup data is used to set up a new MySQL server or to replace all data of an existing MySQL server). See the discussionshere for details.
There are some special requirements when restoring backups created with the
--use-ttsoption; seeSection 5.1.4, “Restoring Backups Created with the--use-ttsOption” for details.
When restoring a server forreplication purpose, if the backed-up server has used theinnodb_undo_directory option to put the undo logs outside of the data directory, when using the fileserver-my.cnf orserver-all.cnf for the--defaults-file option withcopy-back orcopy-back-and-apply-log, care should be taken to configure correctly theinnodb_undo_directory option in the file. Otherwise, the data or log files on the original server might be overwritten by accident.