The mysqlbackup options to perform a restore
restoration process requires the database server to be already
shut down (except for restorations of backups created with the
--use-tts option; see
explanations below). 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. For any restore
operation, the options
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
Example 5.4 Shutting Down and Restoring a Database
mysqladmin --user=root --password shutdown mysqlbackup --defaults-file=/usr/local/mysql/my.cnf \ --backup-dir=/export/backups/full \ copy-back
The restored data includes the
table, where MySQL Enterprise Backup records details of each backup. Restoring
this table to its earlier state removes information about any
subsequent backups that you did. This is the correct starting
point for future incremental backups, particularly those using
Before restoring a partial backup, you might need to delete
first from the backup the
associated with InnoDB tables that were not backed up. See
Section 4.1.9, “Partial Backup Options” and
Section 184.108.40.206, “Backing Up Some or All InnoDB Tables” for details.
When performing a full restore (for example, when the backup
data is used to set up a new MySQL server or used to replace all
data of an existing MySQL server), make sure the target data
directories are all clean, containing no old or unwanted data
files. This might require manual removal of files at the
locations specified by both the
--innodb_data_file_path options. The
same cleanup is not required for restoring backups created with
--use-tts option, and usually not
necessary for restoring a partial backup.
You can combine the
apply-log and the
copy-back operations (as well as a
number of other operations, depending on the kind of backup you
are restoring) into a single step by using the
mysqlbackup --defaults-file=/usr/local/mysql/my.cnf \ --backup-dir=/export/backups/full \ copy-back-and-apply-log
There are some special requirements for restoring backups created
The destination server must be running.
The destination server must be using the same page size that was used on the server on which the backup was made.
The innodb_file_per_table option must be enabled on the destination server.
The tables being restored must not exist on the destination server.
If you are restoring a single-file backup, unpack first the backup image to a directory using the
image-to-backup-dirsubcommand. Note that you cannot perform a selective extraction of specific tables or directories from a backup image created using the
apply-logoperation to the backup (or, for a single-file backup, to the directory created by unpacking the backup image) to bring it up-to-date.