数据库——备份与恢复
概述
- 备份方法:
热备:在数据库运行中直接备份,对正在运行的数据库没有影响
冷备:数据库停止情况下备份,拷贝相关物理文件
温备:在数据库运行中直接备份,会对当前数据库操作有影响
- 备份文件:
逻辑备份:可读文本文件
裸文件备份:拷贝数据库的物理文件,恢复时间更短
- 备份内容:
完全备份
增量备份:在上次完全备份的基础上,对更新的数据进行备份
记录当前每个页最后的检查点的LSN
如果大于之间完全备份的LSN,则备份该页
日志备份
冷备
备份frm文件、共享表空间文件、独立表空间文件、重做日志文件
- 优点:
简单
易恢复
恢复速度快
- 缺点:
文件大
跨平台问题
逻辑备份
mysqldump工具
SELECT … INTO OUTFILE / LOAD DATA INFILE(mysqlimport命令行程序)
二进制日志备份与恢复
默认不启用二进制日志
热备
ibbackup、XtraBackup工具
- 工作原理:
1.记录开始时redo log文件检查点的LSN
2.拷贝共享表空间文件以及独立表空间文件
3.记录拷贝完后redo log文件检查点的LSN
4.拷贝备份期间产生的redo log
- 恢复过程:
1.恢复表空间文件
2.redo log恢复
- 增量备份:
1.首先完成一个完全备份,并记录检查点的LSN
2.比较表空间每个页的LSN是否大于上次备份的LSN,如果是,备份该页,并记录当前检查点的LSN
快照备份
所有数据库文件放在同一个文件分区中,对分区执行快照工作
Linux系统下的LVM采用COW创建快照
复制
- 步骤:
1.主服务器把数据更新记录到二进制日志中
2.服务器把主服务器的二进制日志拷贝到自己的中继日志中(I/O线程)
3.服务器重做中继日志,把更新应用到自己的数据库上(SQL线程)
- 复制的功能:
1.数据分布
2.读取的负载平衡
3.数据库备份
4.高可用性和故障转移
- 快照+复制的备份架构:
对从服务器上的数据库所在的分区做快照
当主服务器发生故障,恢复从服务器上的快照,再根据二进制日志恢复
延时复制:间歇性开启从服务器上的同步功能