还原操作将数据文件从备份还原到它们在数据库服务器上的原始位置,或还原到其他所需位置。通常,恢复过程要求数据库服务器已经关闭(或者,至少不在您要将数据恢复到的目录上运行),但使用该
--use-tts
选项创建的备份的恢复除外。选项
datadir
、
innodb_log_files_in_group
和
innodb_log_file_size
必须在目标服务器的配置文件、
--defaults-file
选项指定的文件中或作为命令行选项指定。有关用法示例,请参阅
第 5 章,恢复或还原数据库。
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-back
copy-back-and-apply-log
在单个步骤中,将 选项指定 的单个文件备份
--backup-image
或从选项指定的目录 备份还原--backup-dir
到服务器的数据目录,并对还原的数据执行apply-log
操作以使它们保持最新。与用于恢复 单个文件备份的多步骤方法(通常包括执行 extract、 uncompress、 apply-log和 copy-back的连续步骤组成用于恢复压缩图像,或 extract 、apply-log和 copy-back用于未压缩图像),该命令使恢复过程更简单、更快,还节省了所需的磁盘空间。以下是对使用的不同类型的备份恢复的一些特殊要求
copy-back-and-apply-log
:要恢复压缩目录或图像,请
--uncompress
在命令行中包含该选项。要恢复单个文件备份,除了使用选项指定备份映像的位置外
--backup-image
,还可以使用--backup-dir
选项提供文件夹的位置,该文件夹将用于存储在恢复过程中产生的临时文件。要还原单个文件增量备份,假设完整备份(增量备份所基于的备份)已经还原:
--incremental
在命令行中 包含该 选项。--backup-image
使用选项 指定增量备份映像的位置随
--backup-dir
选项一起提供文件夹的位置,该文件夹将用于存储在恢复过程中生成的临时文件。
高级:要还原增量备份目录,假设已还原完整备份(增量备份所基于的备份):
--incremental
在命令行中 包含该 选项。使用
--backup-dir
或--incremental-backup-dir
选项指定增量备份目录。
要还原使用以下命令创建的备份
--use-tts option
:请参阅第 5.1.4 节“恢复使用该选项创建的备份”
--use-tts
中描述的一般要求 。--use-tts
恢复使用选项设置= 创建的单文件备份时with-minimum-locking
,指定的文件夹--backup-dir
还用于临时提取备份中的所有表,并用于执行apply-log
操作以使数据在恢复到服务器之前是最新的数据目录。进阶:恢复使用
--use-tts
=with-minimum-locking
,apply-log
会对备份目录进行操作。这意味着所做的备份将在此过程中被更改,并且用户可能希望在进行恢复之前多复制一份备份目录,以防止万一出现问题而丢失备份数据。
另请注意:
使用该选项创建的备份
--skip-unused-pages
无法使用 恢复copy-back-and-apply-log
。对于使用 MySQL Enterprise Backup 3.8.2 或更早版本进行的映像备份,备份中
.ibd
文件指向的每表文件.isl
将还原copy-back-and-apply-log
到服务器的数据目录,而不是 .isl 文件指向的位置。由于一个已知问题,当还原使用 MySQL Enterprise Backup 3.9 或更早版本创建的压缩备份并包含在服务器上作为压缩表创建的任何 InnoDB 表(通过使用
ROW_FORMAT=COMPRESSED
选项、KEY_BLOCK_SIZE=
选项或两者)时,请勿使用copy-back-and-apply-log
;相反,apply-log
首先执行,然后执行copy-back
. 有关详细信息,请参阅MySQL Enterprise Backup 3.10.0 变更日志中 Bug# 17992297 的条目 。
copy-back-and-apply-log
操作 结束时 ,将backup_variables.txt
在数据目录中创建或更新文件。该文件包含有关还原内容的元数据,并被增量备份的连续单步还原所使用;用户不应删除或修改它。有关使用命令恢复不同类型备份的一些示例命令
copy-back-and-apply-log
,请参阅第 5.1 节,“执行恢复操作”。
copy-back
将文件从目录备份还原到它们在 MySQL 服务器中的原始位置。
在使用 命令 恢复热备份
copy-back
之前,必须 准备备份并使用命令使备份保持一致apply-log
。有关详细信息,请参阅 第 5.1.7 节“高级:准备和恢复目录备份”。您还可以将apply-log
andcopy-back
与单个copy-back-and-apply-log
命令一起执行。在执行完全恢复之前,可能需要对目标目录进行一些清理工作以进行恢复(例如,当备份数据用于设置新的 MySQL 服务器或替换现有 MySQL 服务器的所有数据时)。有关详细信息,请参阅此处的讨论 。
--use-tts
恢复使用该选项 创建的备份时有一些特殊要求;有关详细信息,请参阅第 5.1.4 节 “恢复使用该 选项创建的备份--use-tts
” 。
在为复制目的
恢复服务器时
,如果备份服务器使用了
innodb_undo_directory
将撤消日志放在数据目录之外的选项,则在使用带有 或 的文件或
选项
server-my.cnf
时
,
应注意正确配置
选项文件。否则,原服务器上的数据或日志文件可能会被意外覆盖。
server-all.cnf
--defaults-file
copy-back
copy-back-and-apply-log
innodb_undo_directory