mysql备份

基本概念

全量备份:某个时间点的所有数据进行一个完全的备份

差异备份(也叫差量备份):差异备份"是对上一次"全量备份"以后变化的数据的备份,

增量备份:对上一次"备份"以后变化的数据的备份

时间点恢复:数据备份文件以及二进制日志文件

热备:mysql中的myisam存储引擎不支持热备,InnoDB存储引擎支持热备。

温备:温备期间,数据库只能进行读操作,不能进行写操作

冷备:冷备期间,数据库的读写操作均不可进行,可靠性是最高,简单,可通过复制结构做冷备。

物理备份:直接备份数据库所对应的数据文件,以达到备份的目的,物理备份相对逻辑备份来说,性能更强。

逻辑备份:将数据从数据库中导出,并且将导出的数据进行存档备份,这种备份方式被称作逻辑备份。

常用工具

1、mysqldump(掌握)

mysql自带,逻辑备份工具,也就是说,它会将数据从数据库中读出,转化为对应的sql语句。

能实现完全备份或部分备份。

使用innodb表类型的表能够使用mysqldump进行热备。

使用myisam表类型的表只能够使用mysqldump进行温备。

如果数据量较小,使用mysqldump是一种选择。

2、xtrabackup(掌握)

支持对Innodb存储引擎进行热备。

物理备份工具,性能强悍。

支持完全备份,差异备份,增量备份,部分备份等功能。

3、通过select语句进行部分备份

通过select语句将表中的数据导出到指定文件中,例如导出a表数据到/testdir/a.backup中,在使用select语句备份a表的同时,最好将a表的表结构也备份一份,因为还原的时候很有可能用到。

select * from a into outfile '/testdir/a.backup';

如果想要通过a.backup文件恢复a表的内容,可以创建一个新的表,然后使用load data将a.backup中的数据导入到新表中,示例如下。

create table b(id int);

load data infile "/testdir/a.backup" into table b;

4、cp或tar

利用上述命令,在linux中直接对数据文件进行备份,只适用于冷备

posted @ 2018-03-16 22:42  fanren224  阅读(100)  评论(0编辑  收藏  举报