备份数据的最终目的是为了在出现一些意外情况时,能够通过备份将数据还原,所以单单的备份数据往往是无法满足还原时的需求的,所以在备份数据库时,除了要备份数据本身,还要备份相关的数据库环境,如配置文件,定时任务,sudo权限等等相关的信息。
一、为什么要备份?
1、灾难恢复:硬件故障,软件故障,自然灾害,黑客攻击,误操作
2、测试
二、备份要注意的要点
1、备份需要多少时间(备份过程的时长)
2、能容忍最多丢失多少数据
3、恢复数据需要在多场时间内完成(恢复过程的时长)
4、需要恢复哪些数据
(1)做还原测试,用于测试备份的可用性
(2)还原演练
5、备份负载
三、备份内容(备份什么?)
1、数据
2、二进制日志,innodb的事务日志
3、代码(存储过程、存储函数、触发器、时间调度器)
4、服务器的配置文件
四、备份相关术语
1、完全备份(全量备份)(Full Backup)
对某个时间点的所有数据进行一个完全的备份,对应时间点的所有数据都被包含在完全备份中。(备份整个数据集)
2、部分备份
只备份数据子集
3、增量备份
仅备份最近一次完全备份或增量备份(如果有增量备份)以来变化的数据
4、差异备份
仅备份最近一次完全备份以来变化的数据;
5、热备
读写操作均可执行(往往依赖于事务日志)(难度最大)
6、温备
读操作可以、写不行
7、冷备
读写操作均不能执行(停数据库后进行文件拷贝即可)
8、物理备份
直接复制数据文件进行备份,与存储引擎无关(cp)
9、逻辑备份
从数据库中“导出”数据另存而进行备份