300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Mysql的备份与恢复类型

Mysql的备份与恢复类型

时间:2023-12-13 23:54:18

相关推荐

Mysql的备份与恢复类型

独角兽企业重金招聘Python工程师标准>>>

一、逻辑备份与物理备份

物理备份由存储数据库内容的目录和文件的原始副本组成。这种类型的备份是适合大,重要的数据库,需要迅速恢复时发生的问题。

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

物理备份有以下特点:

1.物理备份包含数据库目录和文件的精确副本,通常这是mysql数据目录的全部或者部分副本。

2. 物理备份方法比逻辑备份方法更快,因为它仅仅涉及到文件的复制而不用转换。

3.输出比逻辑备份更健壮

4. 因为对于繁忙重要的数据库备份速度和健壮性是非常重要的 ,我们可以使用MySQL Enterprise Backup产品进行物理备份。

5.备份和还原粒度范围从整个数据目录降低到单个文件的级别。这可能会提供表级粒度,也可能不会提供,主要取决于存储引擎。例如InnoDB引擎下的每一个表都可以在一个单独的文件,或者与其他InnoDB表共享文件的存储;每一个MyISAM表唯一对应一组文件。

6.除了备份数据库之外,物理备份还可以包括任何相关的文件,如日志或配置文件。

7.物理备份对于内存表中的数据的备份是十分棘手的,因为他们的内容不存储在磁盘上。(MySQL Enterprise BackUp产品在备份的时候可以从内存中检索表的数据,这也是MySQL Enterpirse Backup的一个特点。

8.备份仅可移植到具有相同或相似硬件特性的其他机器上。

9.备份在MySQL数据库没有运行期进行,如果服务器正在运行,则必须执行适当的锁定以便于服务器在备份过程中不会更改数据库内容。MySQL Enterprise Backup在需要的时候会自动锁表。

10.物理备份工具包括MySQL Enterprise Backup里的mysqlbackup,用它备份InnoDB或一些其他的表,或者使用文件系统级命令(像 cp,scp tar rsync)备份MyISAM表。

11.对于还原:

1.MySQL Enterprise Backup还原它备份的InnoDB表或者其他的表。

2.ndb_restore 还原NDB 表

3.可以使用文件系统命令将文件系统级复制的文件还原到原始位置。

逻辑备份有以下特点:

1.备份是通过查询MySQL服务器获取数据库的结构和内容信息

2.逻辑备份比物理备份慢,因为逻辑备份必须访问数据库信息,并且将其转换为逻辑形式。如果输出是在客户端被写入,那么必须把它传送给备份程序。

3.逻辑备份的大小大于物理备份,特别是当保存成文本格式的时候。

4.备份和还原粒度在服务器级别(所有数据库)、数据库级别(特定数据库中的所有表)或表级中都是有效的。无论什么引擎都是可用的。

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

6.逻辑备份是独立于机器和可高度移植的。

7.逻辑备份可与数据库服务同时进行,服务器不会脱机

8.逻辑备份工具包括mysqldump程序和 SELECT …INTO OUTFILE语句它们可以作用于任何存储引擎,甚至是MEMORY(Heap)。

9.恢复逻辑备份,对于sql格式的转储文件可以使用mysql客户端处理,加载文本文件可以使用 LOAD DATA INFILE 语句或者mysqlimport客户端。

二、在线与离线备份

在线备份发生在MySQL服务器运行期间以便于能够从服务器获取数据库信息。离线备份发生在MySQL服务器停止期间。这个区别也可以使用“热”备份和“冷”备份描述;热备份期间服务器一直在运行,但是会 锁定你对数据的修改, 在你从外部访问数据库时,

热备份方法有以下特点:

1.热备份在备份期间不影响连接到数据的其他客户端,也可能根据他们需要执行什么操作访问数据。

2.必须小心施加适当的锁定,以便于不会修改数据,因为这可能危及备份的完整性。MySQL Enterprise back 产品会自动锁定

离线备份有以下特点:

1.客户端会受到不利的影响,因为在备份期间服务器不可用,因此,这种备份通常从可以脱机但不损害可用的从服务器上复制获取。

2.这种备份程序比较简单,因为这种备份没有被其他客户端活动干扰的可能性。

在线恢复和离线恢复操作和的区别和特点都很相似。但是,客户端会在在线恢复的时候受影响,因为恢复需要更强的锁定。备份期间,客户端可能在备份期间读取数据。恢复期间,客户端不只是不能读取数据,而是必须防止客户端访问数据在进行恢复的时候。

三、本地备份与远程备份

本地备份是在与MySQL服务运行的同一主机上进行,而远程备份是在不同的主机完成的。对于有些备份,备份可以在远程主机上启动,但是输出可以在服务器主机上。

1.mysqldump可以连接到本地或者远程服务器,对于SQL的输出(CREATE和INSERT语句),在本地或者远程存储都可以做到,并且一般在客户端产生输出。对于文本文件(*.txt)的输出可以使用选项卡选项,数据文件是在服务器主机上创建

2.SELECT … INTO OUTFILE 可以从本地或者远程客户端主机发起,但输出文件在服务器主机上创建。

3.物理备份的方法通常在本地服务器主机上发起以便于服务能够脱机,尽管复制文件的目的地可能是远程。

四、快照备份

一些文件系统的实现允许启用快照。它提供一个给定时间点上的文件系统的逻辑备份,而不需要整个文件系统的物理备份。(举例说明:这种实现可能使用写时拷贝技术以至于仅仅一部分被修改的文件系统在快照时间需要被复制。MySQL本身并没有提供文件系统快照能力。但是它可以通过第三方解决方案解决(Veritas,LVM,ZFS)

五、全量备份与增量备份

一个全量备份包括一个服务器在给定时间点上的所有数据。一个增量备份包括一个给定的时间跨度(从一个时间点到另一个时间点)上的修改的数据。MySQL有不同的方式执行全量备份。增量备份由使用服务器记录数据变化的二进制日志实现。

六、全量恢复与增量恢复

全量恢复是从全量备份中恢复数据,它将服务实例恢复到它备份时的状态。如果该状态没有没有做到恢复到原始状态,则可以通过备份后的增量备份,将服务器保持最新的状态。增量恢复是基于二进制日志,并且遵循全量恢复在备份之,然后将二进制日志里面变化的数据做增量还原修改数据,把数据库及时还原到需要的点上

七、表维护

如果表被损坏,数据完整性可能会受到影响。对于InnoDB表,这不算是一个典型的问题。但是对于M有ISAM表的检测和维护,如果发现问题可以参考第8.6节MyISAM表的维护和故障恢复

八、备份调度,压缩和加密

备份调度对于自动化备份程序是有价值的,备份压缩后输出减少了对空间的要求,加密输出提供了更好的安全性,防止未经授权访问备份数据。MySQL本身不提供这么能力,MySQL Enterprise Backup产品可以压缩InnoDB引擎备份,并且可以使用文件系统工具实现备份压缩和加密,其他第三方解决方案也可以使用。

本博客完全由MySQL官方文档5.7翻译而来,为MySQL学学习者作为参考。详情信息可以参考/doc/refman/5.7/en/backup-types.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。