文档主页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.2Kb
Man Pages (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 参考手册  /  ...  /  使用备份进行恢复

9.3.2 使用备份进行恢复

现在,假设我们在星期三上午 8 点发生了灾难性的意外退出,需要从备份中恢复。要恢复,首先我们需要恢复我们拥有的最后一个完整备份(即星期日下午 1 点的备份)。完整备份文件只是一组 SQL 语句,因此恢复它非常容易

$> mysql < backup_sunday_1_PM.sql

此时,数据已恢复到星期日下午 1 点的状态。要恢复自那时以来的更改,我们必须使用增量备份;也就是 gbichot2-bin.000007gbichot2-bin.000008 二进制日志文件。如果需要,从备份位置获取这些文件,然后像这样处理其内容

$> mysqlbinlog gbichot2-bin.000007 gbichot2-bin.000008 | mysql

我们现在已将数据恢复到星期二下午 1 点的状态,但仍然缺少从该日期到崩溃日期的更改。为了不丢失它们,我们需要让 MySQL 服务器将 MySQL 二进制日志存储到与它存储数据文件的位置不同的安全位置(RAID 磁盘、SAN 等),以便这些日志不在损坏的磁盘上。(也就是说,我们可以使用指定不同于数据目录所在的物理设备上的位置的 --log-bin 选项启动服务器。这样,即使包含目录的设备丢失,日志仍然安全。)如果我们这样做了,我们就会有 gbichot2-bin.000009 文件(以及任何后续文件)在手,并且可以使用 mysqlbinlogmysql 应用它们,以恢复最新的数据更改,直到崩溃时没有丢失任何数据

$> mysqlbinlog gbichot2-bin.000009 ... | mysql

有关使用 mysqlbinlog 处理二进制日志文件的更多信息,请参见 第 9.5 节“时间点 (增量) 恢复”.