MySQL备份和恢复类型

来源:互联网 发布:多媒体网络中控系统 编辑:程序博客网 时间:2024/06/15 12:42

物理(原始)与逻辑备份

物理备份由存储数据库内容的目录和文件的原始副本组成。这种类型的备份适用于需要在出现问题时快速恢复的大型重要数据库。

逻辑备份保存表示为逻辑数据库结构(CREATE DATABASE, CREATE TABLE语句)和内容(INSERT语句或分隔文本文件)的信息。这种类型的备份适合于您可以编辑数据值或表结构的较小数据量,或者在不同的机器体系结构上重新创建数据。

物理备份方法具有以下特点:

  • 备份由数据库目录和文件的精确副本组成。通常这是MySQL数据目录的全部或部分的副本。

  • 物理备份方法比逻辑更快,因为它们仅涉及不转换的文件复制。

  • 输出比逻辑备份更紧凑。

  • 由于备份速度和紧凑性对繁忙的重要数据库很重要,所以MySQL Enterprise Backup产品可以进行物理备份。有关MySQL Enterprise Backup产品的概述,请参见 第29.2节“MySQL企业备份概述”

  • 备份和还原粒度范围从整个数据目录的级别到单个文件的级别。这可能或可能不提供表级别的粒度,具体取决于存储引擎。例如,InnoDB表可以分别在一个单独的文件中,或者与其他InnoDB共享文件存储 每个 MyISAM表格都对应一组文件。

  • 除数据库外,备份还可以包括任何相关文件,如日志或配置文件。

  • MEMORY表中的 数据很难备份,因为它们的内容不存储在磁盘上。(MySQL Enterprise Backup产品有一个功能,您可以MEMORY在备份过程中表中检索数据。)

  • 备份只能用于具有相同或相似硬件特性的其他机器。

  • 可以在MySQL服务器未运行时执行备份。如果服务器正在运行,则需要执行适当的锁定,以便服务器在备份期间不会更改数据库内容。MySQL Enterprise Backup对需要的表进行自动锁定。

  • 物理备份工具包括用于表或其他任何表的MySQL企业备份的 mysqlbackup, InnoDB或表的文件系统级命令(如cp, scptarrsyncMyISAM 。

  • 恢复:

    • MySQL Enterprise Backup还原InnoDB 及其备份的其他表。

    • ndb_restore还原 NDB表。

    • 在文件系统级别复制的文件可以使用文件系统命令复制回其原始位置。

逻辑备份方法具有以下特点:

  • 通过查询MySQL服务器获取数据库结构和内容信息来完成备份。

  • 备份比物理方法慢,因为服务器必须访问数据库信息并将其转换为逻辑格式。如果在客户端写入输出,服务器也必须将其发送到备份程序。

  • 输出大于物理备份,特别是以文本格式保存时。

  • 备份和恢复粒度在服务器级别(所有数据库),数据库级别(特定数据库中的所有表)或表级别都可用。无论存储引擎如何,都是如此。

  • 备份不包括日志或配置文件,或其他不属于数据库的数据库相关文件。

  • 以逻辑格式存储的备份是独立于机器且高度便携的。

  • MySQL服务器正在运行逻辑备份。服务器不会脱机。

  • 逻辑备份工具包括mysqldump 程序和SELECT ... INTO OUTFILE语句。这些工作适用于任何存储引擎,甚至MEMORY

  • 要恢复逻辑备份,可以使用mysql客户端处理SQL格式转储文件要加载分隔文本文件,请使用该 LOAD DATA INFILE语句或mysqlimport客户端。

在线与离线备份

在MySQL服务器运行时进行在线备份,以便从服务器获取数据库信息。脱机备份在服务器停止时进行。这种区分也可以被描述为“  ”对 “  ”备份; 一个“ 温暖 ”的备份是一个在服务器保持运行,但锁定,以防止当你从外部访问数据库文件修改数据。

在线备份方式有以下特点:

  • 备份对其他客户端的侵扰性较小,可以在备份期间连接到MySQL服务器,并且可以根据需要执行的操作访问数据。

  • 必须注意施加适当的锁定,以便不会发生损害备份完整性的数据修改。MySQL企业备份产品会自动进行此类锁定。

离线备份方法具有以下特点:

  • 客户端可能受到不利影响,因为服务器在备份期间不可用。因此,这种备份通常取自可以脱机而不损害可用性的复制从属服务器。

  • 备份过程更简单,因为客户端活动不会有干扰。

在线和脱机之间的类似区别适用于恢复操作,并且具有类似的特征。但是,由于恢复需要更强的锁定,因此客户端更有可能受到线上恢复的影响。在备份期间,客户端可能能够在备份时读取数据。恢复修改数据,而不只是读取数据,所以在恢复时必须阻止客户端访问数据。

本地与远程备份

在MySQL服务器运行的同一主机上执行本地备份,而远程备份则由不同的主机完成。对于某些类型的备份,即使在服务器上本地写入输出,也可以从远程主机启动备份。主办。

  • mysqldump可以连接到本地或远程服务器。对于SQL输出(CREATE和 INSERT语句),可以完成本地或远程转储,并在客户端上生成输出。对于分隔文本输出(带有 --tab选项),数据文件将在服务器主机上创建。

  • SELECT ... INTO OUTFILE 可以从本地或远程客户端主机启动,但是在服务器主机上创建输出文件。

  • 物理备份方法通常在MySQL服务器主机上本地启动,以便服务器可以脱机,尽管复制文件的目标可能是远程的。

快照备份

某些文件系统实现启用“ 快照 ” 。这些提供文件系统在给定时间点的逻辑副本,而不需要整个文件系统的物理副本。(例如,实现可能会使用写时复制技术,以便只有在快照时间之后才能修改的文件系统的部分部分被复制。)MySQL本身不提供采取文件系统快照的功能。它可通过第三方解决方案(如Veritas,LVM或ZFS)获得。

完全与增量备份

完整备份包括在给定时间点由MySQL服务器管理的所有数据。增量备份包括在给定时间跨度(从一个时间点到另一个时间点)对数据所做的更改。MySQL具有不同的执行完全备份的方法,例如本节前面所述的备份。通过启用服务器用于记录数据更改的二进制日志可以实现增量备份。

完全与时间(增量)恢复

完全恢复恢复来自完整备份的所有数据。这将使服务器实例恢复到备份时所做的状态。如果该状态不够充分,则完全恢复后可以恢复从完整备份以来进行的增量备份,以使服务器处于更新状态。

增量恢复是在给定时间段内进行的更改的恢复。这也称为时间点恢复,因为它使服务器的状态达到给定的时间。时间点恢复基于二进制日志,通常遵循备份文件的完全恢复,将备份文件恢复到备份时的状态。然后将二进制日志文件中写入的数据更改作为增量恢复应用于重做数据修改,并使服务器达到所需时间点。