相关的文档10bet官方网站 本手册下载 本手册节选

7.3示例备份与恢复策略

本节讨论执行备份的过程,使您能够在几种类型的崩溃后恢复数据:

  • 操作系统崩溃

  • 电源故障

  • 文件系统崩溃

  • 硬件问题(硬盘驱动器、主板等)

示例命令不包括诸如——用户而且——密码, mysqldump而且mysql客户端程序。您应该包括必要的选项,以使客户端程序连接到MySQL服务器。

假设数据存储在InnoDB存储引擎,它支持事务和自动崩溃恢复。还假设MySQL服务器在崩溃时处于负载状态。如果不是,就永远不需要复苏。

对于操作系统崩溃或电源故障的情况,我们可以假设MySQL的磁盘数据在重新启动后是可用的。的InnoDB由于崩溃,数据文件可能不包含一致的数据,但是InnoDB读取其日志,并在其中查找未刷新到数据文件的挂起已提交和未提交事务的列表。InnoDB自动回滚未提交的事务,并将已提交的事务刷新到其数据文件。关于这个恢复过程的信息通过MySQL错误日志传递给用户。以下是日志摘录示例:

InnoDB:数据库没有正常关闭。InnoDB:开始从日志文件恢复…InnoDB:正在启动基于检查点的日志扫描InnoDB:日志序列号0 13674004 InnoDB:正在恢复:扫描到日志序列号0 13739520 InnoDB:正在恢复:扫描到日志序列号0 13805056 InnoDB:正在恢复:扫描到日志序列号0 13870592 InnoDB:正在恢复:扫描到日志序列号0 13936128…InnoDB:正在恢复:扫描到日志序列号0 20555264 InnoDB:正在恢复:扫描到日志序列号0 20620800 InnoDB:正在恢复:扫描到日志序列号0 20664692 InnoDB: 1个未提交的事务(s),必须回滚InnoDB:开始回滚未提交的事务InnoDB:回滚trx no 16745 InnoDB:回滚trx no 16745完成InnoDB:回滚未提交的事务完成InnoDB:开始向数据库应用一批日志记录…InnoDB: Apply batch completed InnoDB: Started mysqld: ready for connections

对于文件系统崩溃或硬件问题的情况,我们可以假设MySQL磁盘数据是重启后可用。这意味着MySQL无法成功启动,因为一些磁盘数据块不再可读。在这种情况下,有必要重新格式化磁盘,安装一个新的磁盘,或者以其他方式纠正根本问题。然后需要从备份中恢复MySQL数据,这意味着备份必须已经完成。为了确保这一点,需要设计并实现备份策略。