逻辑备份、物理备份
逻辑备份
就是从MySQL导出数据进行备份
当然MySQL必须启动
优点是:可以按照自定义方式导出数据
缺点是:恢复慢,且数据精度也没法保证,索引也需要重建,跟新执行SQL一样
物理备份
直接Copy MySQL的物理数据文件
优点是:不需要启动也可以copy
缺点是:跟数据库的存储引擎有关系,跨平台能力弱
冷备、热备、温备
(1)热备:在数据库运行时,直接进行备份,对运行的数据库没有影响
(2)冷备:在数据库停止运行的时候进行备份,这种备份方式最为简单,只需要拷贝数据库物理文件即可。
(3)温备:同样是在数据库运行的时候进行备份的,但对当前数据库的操作会产生影响。
热备份
优点:
1.可在表空间或数据文件级备份,备份时间短。
2.备份时数据库依然可以使用。
3.可达到秒级恢复,能够恢复到某一个时间点上。
4.恢复的速度很快,在大多数情况下在数据库工作时就可恢复。
5.几乎所有的数据库实体都可以进行恢复。
缺点:
1.尽量不要出错,否则后果会很严重。
2.如果热备份不成功,所得结果不可用于时间点的数据恢复。
3.维护的工作比较困难。
冷备份
优点:
1.是非常快速的备份方法,因为只需要拷贝文件即可
2.容易归档,容易恢复到某个时间点上(只需将文件再拷贝回去即可)
3.能与归档方法相结合,作数据库(最新状态)的恢复。
4.容易维护,且比较安全。
缺点:
1.单独使用时,只能提供到"某一时间点的上"的恢复。
2.再实施备份的全过程中,数据库必须是关闭状态。
3.不能按表或按用户恢复。
注意:
冷备份必须在数据库关闭的情况下进行,当数据库处于打开状态时,执行数据库文件系统备份是无效的。而且在恢复后一定要把数据库文件的属组和属主改为mysql。
全量备份、增量备份、差异备份
策略:每周一次全量,每天进行一次备份(说法有问题,应该说增量备份)
全备:一次备份所有数据
增量备份:每天只备份当天的新增的数据,比对的是上一次备份
差异备份:周一备份周一的,周二备份周一和周二的,周五备份:12345的数据,比对的是全量备份的数据
策略选择
1. 如果需要灵活备份,如:备份某个表中的满足某种条件的数据,用逻辑备份;
2. 如果单表太大,且要求恢复速度,用物理备份
3. 冷备 只能进行物理备份,热备可以进行逻辑备份
4. 热备要求高,出错事很大;如果对可用性要求不高,或者能力不足可以考虑冷备
5. 冷备 只能全备,不能灵活备份和恢复数据,且只能恢复到 Copy数据文件时的那个时间点
6. 全量备份数据量大,速度慢,一般是一周或者几天进行一次全量备份
7. 增量和差异 是进一步缩小粒度,但做不到 恢复到任何时刻
8. 如果你需要 只恢复周二数据,不回复周一的,那你只能用增量备份了
9. 要求恢复到任何时刻,必须使用binlog
这里的选择:
每天全量备份;保留一周的binlog日志
1. 全量使用物理备份,每天的binlog使用逻辑备份
2. 全量备份使用冷备
3. 这里增量和差异 意义不大了