数据库恢复方案
http://netkiller.github.io/journal/db.restore.html
$Id$
版权 ? 2011, 2012, 2013?http://netkiller.github.io
$Date$
摘要
这里所谈的内容是对备份数据的恢复,不是对损坏数据表的恢复,或者说灾难恢复。
我的系列文档
?
Netkiller Architect 手札 | Netkiller Developer 手札 | Netkiller PHP 手札 | Netkiller Python 手札 | Netkiller Testing 手札 | Netkiller Cryptography 手札 |
Netkiller Linux 手札 | Netkiller CentOS 手札 | Netkiller FreeBSD 手札 | Netkiller Security 手札 | Netkiller Version 手札 | Netkiller Web 手札 |
Netkiller Monitoring 手札 | Netkiller Storage 手札 | Netkiller Mail 手札 | Netkiller Shell 手札 | Netkiller Network 手札 | Netkiller Database 手札 |
Netkiller PostgreSQL 手札 | Netkiller MySQL 手札 | Netkiller NoSQL 手札 | Netkiller LDAP 手札 | Netkiller Cisco IOS 手札 | Netkiller H3C 手札 |
Netkiller Multimedia 手札 | Netkiller Docbook 手札 | Netkiller 开源软件 手札 | ? | ? | ? |
?
目录
1.?背景
我们来假设一个场景。
你是否适用 mysqldump 每隔一段时间备份一次数据库,每个备份一个数据文件。
公司决策你是不是因为数据持续增加,有些数据已经不会再查询,会删除旧的历史数据。
有时公司突然说要恢复历史数据,有可能全补回复,有可能部分恢复。
你将怎么做?
2.?备份方式分析
首先看看备份方式,你是不是采用这种方法备份
我使用一串数字表述数据库数据递增情况,数据的增长变化
垂直轴表示备份时间轴
最常见的备份方法,完全备份
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 。。。 |.......| 第一次备份 |.................| 第二次备份 |...........................| 第三次备份 |......................................| 第四次备份 |................................................| 第五次备份
下面这种备份方式也比较常见,这种方式很有规律。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 。。。 |.......| 第一次备份 |..........| 删除上一次以备份内容,第二次备份 |..........| 删除上一次以备份内