简介
人为原因、软硬件故障等不可预计的事故都可能会导致数据丢失,此时数据库备份显得尤为重要。而在面对特大量数据时则不会选择将完整数据备份,综合考虑可接受的丢失数据量、数据备份资源消耗,数据恢复所需时长等因素,选择合适的备份方案及方法。
备份类型
按备份数据量分为:
完全备份: 备份整个数据集
部分备份: 仅备份部份数据
以某时间点为基础,每次备份的数据量分为:
完全备份: 每一次备份均备份完整数据集
增量备份: 以上一次备份(可能是完全备份或增量备份)为基础,仅备份发生变化的数据,增量备份还原困难(随后每备份依次即产生一个增量块,增量片段较多导致恢复困难)
差异备份: 以上一次完全备份为基础,仅备份变化的数据,备份效率比增量备份低,但还原相对容易
按备份时运行环境分为:
热备: 备份时业务正常工作,可进行读写操作
温备: 备份时仅能进行读操作
冷备: 备份时不可进行读写操作
某些场景下直接复制数据文件(物理备份)并不是理想的备份方式,而是采用更加灵活的逻辑备份(将数据导出来再次进行存储,不依赖原存储引擎,可利用此法更换存储引擎)进行数据备份。
备份内容
数据本身
二进制日志、事务日志(InnoDB)
代码(存储过程、存储函数、触发器、事件调度器)
服务配置文件
数据备份与恢复
针对不同的存储引擎、备份数据量(单个库中的某些表、单个库、所有库等),所采用的备份策略也是不尽相同的。首先必须了解常用备份工具以及存储引擎所支持的备份类型。
常用工具
mysqldump