在制定备份策略时,性能和存储空间是关键考虑因素。您希望备份快速完成,同时尽可能减少数据库服务器的 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 开销,但开销取决于算法,对于 MySQL Enterprise Backup 使用的默认算法来说,它相当低。此外,压缩通常会大大减少 IO 开销,这可能会缩短恢复时间,尤其是对于较慢的 IO 设备。但是,在还原过程中,您需要解压时间,同时还需要存储压缩和解压数据的空间。因此,在考虑是否创建压缩备份时,请考虑额外的存储空间和恢复期间所需的额外时间。
将备份数据流式传输到另一台服务器时,您可能希望在原始服务器或目标服务器上压缩备份,具体取决于哪个服务器具有更多空闲 CPU 容量以及压缩可以节省多少网络流量。
有关涉及备份和恢复性能的技术和权衡的更多信息,请参阅第 13 章,MySQL 企业备份的性能注意事项。