MySQL数据库的备份分类

目录

一、逻辑备份

1.1文件形式

1.2优缺点

二、物理备份

2.1冷备份

2.2热备份

2.3优缺点



从“一切皆文件”的角度,都可以统称为“文件备份”。但是又可依据文件特点的不同,划分为两大类:逻辑备份物理备份。

一、逻辑备份

逻辑备份,顾名思义,是根据人的逻辑的理解去备份。具体来说,人在逻辑上认为,数据是一行一行地存在表中的,就像Excel一样(但是实际上是B+树的结构)

1.1文件形式

逻辑备份的文件,是可读的,如.sql文件(文件主要由create语句和insert语句组成)或txt文件(主要是用指定分隔符分隔开的,一行一行地数据)。

1.2优缺点

优点:(1)逻辑备份的文件,各个引擎都可用。

          (2)可读性强,如果是.sql文件,可以直接使用文本编辑器打开,便于检查验证。

缺点:恢复时间慢,尤其当数据库很庞大时。

二、物理备份

即数据库实际的裸文件,如INNODB引擎表的数据存储文件:.ibd文件,和表结构定义文件.frm文件(注:不过,从MySQL8.0+开始,取消了.frm文件)。物理备份又分为冷备份热备份

2.1冷备份

冷备份,即停止MySQL服务后,直接复制数据库裸文件(如INNODB引擎表的.ibd文件,共享表空间文件等)。

2.2热备份

热备份与冷备份的区别在于,不停止数据库,在数据库正在运行时,直接备份数据库文件。

需要注意的是,热备份,不同的存储引擎,热备份的方式不同。如常用的MyISAM引擎和InnoDB,:

MyISAM:使用mysqlhotcopy 工具

InnoDB:需要使用第三方的热备工具,如ibbacup(收费,但可免费使用1个月)、Xtrabackup(开源、免费)

2.3优缺点

优点:恢复速度快,只要把文件复制到对应的目录位置即可。

缺点:

(1)不同引擎,备份方式不一样

(2)不可读(用文编辑器直接打开.ibd文件后,其内容是人无法理解的,有兴趣的可以试下)。比如像通过随机抽检一条数据,来确认备份是否完整,是不可行的。

       (3)冷备份的文件通常要比逻辑备份的文件大很多。因为表空间中存放着很多其他信息,如undo段,插入缓冲等。