MySQL Enterprise Backup User's Guide (Version 3.12.5)
The restore operations restores the data files from a backup to
their original locations on the database server, or to other
desired locations. The MySQL instance must be shut down first
before a restore operation (except for backups created using
transportable
tablespace (TTS)). The options
datadir
,
innodb_log_files_in_group
, and
innodb_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, see
Chapter 5, Recovering or Restoring a Database.
mysqlbackup [STD-OPTIONS] [SERVER-REPOSITORY-OPTIONS] [--backup-dir
=PATH
] [--uncompress
] [MESSAGE-LOGGING-OPTIONS] [PARTIAL-BACKUP-RESTORE-OPTIONS] [PROGRESS-REPORT-OPTIONS] [CLOUD-STORAGE-OPTIONS]copy-back
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]copy-back-and-apply-log
Restores files from a directory backup to their original locations within the MySQL server.
Before restoring a hot
backup using the
copy-back
command, the backup
has to be
prepared
and made consistent using the
apply-log
command.
See Section 5.1, “Preparing the Backup to be Restored” for details. You can
also perform apply-log
and
copy-back
together
with a single
copy-back-and-apply-log
command.
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 Section 5.2, “Performing a Restore Operation” for details.
There are some special requirements when restoring backups
created with the
--use-tts
option;
see Section 5.2.4, “Restoring Backups Created with the --use-tts
Option” for details.
In a single step, restores a
single-file
backup specified by the
--backup-image
option or a
backup from the directory specified by the
--backup-dir
option to a server's data directory and performs an
apply-log
operation to the restored data to bring them up-to-date.
Comparing with a multi-step approach for restoring a
single-file
backup (which typically consists of performing the
successive steps of
extract,
uncompress,apply-log,
and
copy-back
for restoring compressed image, or
extract
,apply-log,
and
copy-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
--uncompress
option in the command line.
To restore a single-file backup, besides specifying
the location of the backup image with the
--backup-image
option,
also supply with the
--backup-dir
option the
location of a folder that will be used for storing
temporary files produced during the restoration
process.
To restore an incremental backup directory, assuming the full backup (on which the incremental backup was based) has already been restored:
Include the
--incremental
option
in the command line.
Use either the
--backup-dir
or
--incremental-backup-dir
option to specify the incremental backup
directory.
To restore a single-file incremental backup, besides
specifying the location of the incremental backup
image with the
--backup-image
option, also supply with the
--backup-dir
option the location of a folder that will be used for
storing temporary files produced during the
restoration process.
To restore a backup created with the
--use-tts option
:
See the general requirements described in
Section 5.2.4, “Restoring Backups Created with the --use-tts
Option”.
When restoring a single-file backup created with
the option setting
use-tts
=with-minimum-locking
,
the folder specified with
--backup-dir
is also
used for extracting temporarily all the tables
in the backup and for performing an
apply-log
operation
to make the data up-to-date before restoring
them to the server's data directory.
When restoring a backup directory created with
the option
--use-tts
=with-minimum-locking
,
an apply-log
operation 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-pages
option
cannot be restored using
copy-back-and-apply-log
.
For image backups taken with MySQL Enterprise Backup
3.8.2 or earlier, per-table .ibd
files pointed to by .isl
files in
a backup are restored by
copy-back-and-apply-log
to 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=COMPRESSED
option, the
KEY_BLOCK_SIZE=
option, or both),
do not use
copy-back-and-apply-log
;
instead, perform an
apply-log
first, and then a
copy-back
.
See entry for Bug# 17992297 in the
MySQL Enterprise Backup
3.10.0 changelog for details.
At the end of the
copy-back-and-apply-log
operation, the file
backup_variables.txt
is 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-log
command, see Section 5.2, “Performing a Restore Operation”.
When restoring a server for
replication purpose, if
the backed-up server has used the
innodb_undo_directory
option to put the undo logs outside of the data directory,
when using the file server-my.cnf
or
server-all.cnf
for the
--defaults-file
option with copy-back
or
copy-back-and-apply-log
,
care should be taken to configure correctly the
innodb_undo_directory
option in
the file. Otherwise, the data or log files on the original
server might be overwritten by accident.