1.备份的解释
1)热备——数据库业务正常运行时的一致性恢复
温备——锁表,只能查询,不能写操作
冷备——停止数据库业务,备份数据
2)逻辑备份——基于SQL语句
物理备份——基于磁盘数据文件
3)全备——全库备份,备份所有数据
增量——备份变化(增加)的数据
2.逻辑备份与物理备份的比较
逻辑备份Mysqldump
1)特点
不用下载安装,可以直接使用;
备份出SQL文件,文本格式,可读性高,便于备份;
压缩比高,节省磁盘空间;
依赖于数据库引擎,需要从磁盘把数据读出,然后转换成SQL进行存储,比较耗费资源,数据量大的话效率较低。
2)参数意义
-A 全备
-B 单个或多个库
–set-gtid-purged=OFF 常规备份解决警告问题
–set-gtid-purged=ON 主从环境时添加
-R 备份存储过程及函数(类似shell脚本)
–triggers 备份触发器
-E 备份事件
-F 在备份开始时,刷新一个新binlog日志
–master-data=1
change master to命令形式,可以用作主从复制
–master-data=2
(1)会记录备份时的二进制日志信息
(2)自动锁表
不加–single-transaction,温备份
加上–single-transaction,对InnoDB表进行不锁表(快照)备份
–single-transaction
对innodb表进行一致性快照备份,不锁表
xtrabackup物理备份
1)特点
类似于直接cp数据文件,不需要管逻辑结构,相对来说性能较高,同数据量级别下,物理备份速度更快;
可读性差;
压缩比低,需要更多磁盘空间
2)备份理念
针对非innodb表,锁表并copy所有文件
针对innodb表,立刻触发CKPT,copy所有相关文件(ibdata.ibd.frm),并将备份时产生的,新的数据变化的部分redo一起备份;恢复时,xbk会调用innodb的CSR过程,将数据和redo的LSN追平,进行一致性恢复。
ps. XBK在innodb表备份恢复的流程
–xbk备份执行的瞬间,立即触发ckpt,已提交的数据脏页,从内存刷写到磁盘,并记录此时的LSN号
–备份时,拷贝磁盘数据页,并且记录备份过程中产生的redo和undo一起拷贝走,也就是CKPT的LSN之后的日志
–在恢复之前,模拟Innodb“自动故障恢复”的过程,将redo与undo进行应用
–恢复过程是cp 备份到原来数据目录下