[+/-]
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.6, “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 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.
Example 5.1 Restoring a Database
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.3, “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
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 location specified by the
--datadir
option); otherwise, add the--force
option to the restore command to overwrite the old data. The same cleanup is not required for restoring backups created with the--use-tts
option (in which case other requirements described in Section 5.1.4, “Restoring Backups Created with the--use-tts
Option” apply though), and usually not necessary for restoring a partial backup.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 themysql
user, and the group attribute to themysql
group.$ chown -R mysql:mysql /path/to/datadir
The following subsections describe a number of different scenarios for restoring a backup.