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中直接对数据文件进行备份,只适用于冷备