Contents
  1. 1. 备份和恢复业界指标
  2. 2. 常用备份方式
  3. 3. 备份&恢复速度
  4. 4. 恢复架构图
  5. 5. 恢复的原理和实践
  6. 6. 总结

大家都知道,备份的目的是用于恢复,恢复必须保证两点:速度,正确性。
接下来,我们聊聊备份恢复的那些事儿

备份和恢复业界指标

rpo

常用备份方式

back_type

备份&恢复速度

back_time

恢复架构图

recover

恢复的原理和实践

  • mysqlbinlog + script
1
1) 这种方法,我想用过的人都知道,不仅麻烦,还很有可能出错
  • 利用IO-thread 恢复
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
0) 必须关闭binlog server的MySQL实例
1) 修改binlog server的部分信息
a) vi /etc/my.cnf
log-bin=/data/mysql.bin/binserver
b)vi binserver.index
/data/mysql.bin/binserver.000001
/data/mysql.bin/binserver.000002
... 以此类推(需要恢复的binlog日志)
c)show master status 检查一下是否修改有效。
d) 注意点:
binserver.index 里面写的内容 一定要和外面一致。
比如: cat binserver.index
/data/mysql.bin/binserver.000001
/data/mysql.bin/binserver.000002
那么: /data/mysql.bin/ 里面一定要有 binserver.000001,binserver.000002 文件
2full backup server 导入全备的数据,记录要同步的文件,postion,以及只同步那些表,都设置好。
a ) 从全备中拉出需要还原的表,放在对应的DB里面。
b ) 设置过滤规则,需要在my.cnf文件中设置,需要重启mysql才能生效
比如:我只恢复某几张表
replicate-wild-do-table=newhome_db.ugc_dianping
replicate-wild-do-table=newhome_db.ugc_dianping_content
replicate-wild-do-table=heartbeat_db.heartbeat
c)关于复制过滤规则的详细说明,请看http://keithlan.github.io/2015/07/14/mysql_replicate_rule/
3change masterbinlog server
a)full back server > change master to master_host='$binserver.host', master_user='xxx', master_password='xxx', MASTER_LOG_FILE='$binserver.file',master_log_pos=$binserver.pos
b) $binserver.host : binlog server的ip
c)$MASTER_LOG_FILE :从全部拉出来的文件的file , relay-log.info里面有
d)$master_log_pos: 从全部拉出来的文件的positon ,relay-log.info里面有
4)同步到指定位置(一般是误操作的position)结束
a)full back server > START SLAVE UNTIL MASTER_LOG_FILE = '$log_name', MASTER_LOG_POS = $log_pos
b) $log_name : 就是最后恢复截止的binlog 文件名,即误操作的binlog文件名
c)$log_pos:就是最后恢复截止的binlogposition,即误操作的binlog position
  • 利用SQL-Thread
1
原理同上

总结

以上,我用的比较多的就是利用IO-thread来做基于position和time的恢复。
如果大家还有什么好的方法,互相交流学习下,Thanks

Contents
  1. 1. 备份和恢复业界指标
  2. 2. 常用备份方式
  3. 3. 备份&恢复速度
  4. 4. 恢复架构图
  5. 5. 恢复的原理和实践
  6. 6. 总结

幸福,不在于得到的多

而在于计较的少