1.2 备份类型概述

在制定备份策略时,性能和存储空间是关键考虑因素。您希望备份快速完成,同时尽可能减少数据库服务器的 CPU 开销。您还希望备份数据紧凑,这样您就可以在手边保留多个备份,以便随时恢复。将备份数据传输到不同的系统应该既快捷又方便。在这样的考虑下,备份数据库的各种策略通常会给您带来不同的优势,因为您在选择特定策略时会做出不同的权衡。要选择最适合您需求的策略,您必须了解 MySQL Enterprise Backup 可以执行的每种备份的性质,

根据服务中断级别的备份种类

根据备份期间数据库操作的中断方式,备份分为 ” 、

  • 非常低到低程度的中断:备份是在数据库运行时执行的备份。这种类型的备份不会阻止正常的数据库操作。它甚至可以捕获备份过程中发生的变化。与其他备份类型相比,它对数据库服务器造成的中断最少,并且当您希望避免应用程序、网站或 Web 服务脱机时,它是理想的备份选项。但是,在热备份能够被恢复之前,需要有一个额外的准备备份的过程,以使其保持一致(即正确反映数据库状态在备份完成时的状态)。看 第 5.1.7 节,“高级:准备和恢复目录备份”以获得更多解释。

    当连接到正在运行的 MySQL 服务器时,MySQL Enterprise Backup 会对 InnoDB 表执行热备份。

  • 中到高级别的中断:备份是在数据库处于只读状态下执行的备份。这种类型的备份会在备份过程中阻止对表的任何写入操作,但仍允许读取表。

    当连接到正在运行的 MySQL 服务器时,MySQL Enterprise Backup 在使用热备份方法备份所有 InnoDB 表后,使用热备份 技术 备份所有 MyISAM 和其他非 InnoDB 表。因此,为了在热备份阶段备份尽可能多的数据,您应该将InnoDB指定为新表的默认存储引擎(这是MySQL服务器的默认设置),或者将现有表转换为使用InnoDB存储引擎。

  • 高到非常高级别的中断:备份是在数据库停止时创建的备份。它对数据库服务非常具有破坏性。MySQL Enterprise Backup 8.0 不支持 冷备份

根据是备份所有数据还是仅备份最近更改的备份种类

根据您是要将所有数据都包含到备份中还是只包含最近的更改,并根据最近的更改是从什么时候开始的,您可以执行完整备份、差异备份或增量备份。三种备份方式对CPU开销和磁盘空间的要求不同,适用于不同的情况:

  • 完整备份包括数据库中 的完整数据(部分备份选项排除某些表的情况除外 )。

  • 差异备份包括自上次完整备份以来对数据所做 的所有更改。它比完整备份更快,节省了数据库服务器上的存储空间,并且在将备份传输到不同服务器时节省了网络流量。但是,它需要额外的处理才能使备份为恢复做好准备,您可以在不同的系统上执行此操作以最大限度地减少数据库服务器上的 CPU 开销。

  • 增量备份包括自上次备份以来对数据 的所有更改。它提供了与差异备份相比完全备份类似的优势,并且通常通过进一步减小备份大小来提供更大的优势。但在执行恢复之前,可能还需要对较长系列的备份进行更多准备。

压缩备份与未压缩备份

备份压缩可以节省存储空间和网络流量,从而将备份数据传输到不同的服务器上。压缩确实会增加一些 CPU 开销,但开销取决于算法,对于 MySQL Enterprise Backup 使用的默认算法来说,它相当低。此外,压缩通常会大大减少 IO 开销,这可能会缩短恢复时间,尤其是对于较慢的 IO 设备。但是,在还原过程中,您需要解压时间,同时还需要存储压缩和解压数据的空间。因此,在考虑是否创建压缩备份时,请考虑额外的存储空间和恢复期间所需的额外时间。

将备份数据流式传输到另一台服务器时,您可能希望在原始服务器或目标服务器上压缩备份,具体取决于哪个服务器具有更多空闲 CPU 容量以及压缩可以节省多少网络流量。

有关涉及备份和恢复性能的技术和权衡的更多信息,请参阅第 13 章,MySQL 企业备份的性能注意事项