MySQL备份策略对比及剖析

1. 常见备份分析

wKiom1NKmUqjVpkYAAU-DfXlyVE581.jpg

2. mysqldump操作流程

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
完全备份
     # 温备
     mysqldump  --all-databases --lock-all-tables > /tmp/a.sql
     # 热备
     mysqldump  --all-databases --single-transaction > /tmp/a.sql
增量备份
     # 完整备份少不了
     mysqldump  --all-databases --singel-transaction --fulsh-logs --master-data=2 > /tmp/a.sql
     --master-data=2 (记录二进制还原点信息)
     每天一下计划任务
     备份上次记录的二进制日志
.
还原流程
     对于完全备份的
     mysql < /tmp/a.sql
.
     对于增量的
     mysql < /tmp/a.sql
     还要导入增量信息
     mysqlbinlog  --start-position=pos --stop-position=pos /path/to/binfile | mysql
     这里的start-position就是上一次  --master-data=2 在 /tmp/a.sql中记录的信息
.
备注
     --events: 备份事件调度器代码
     --routines: 备份存储过程和存储函数
     --triggers:备份触发器


3. lvm快照

1
2
3
4
5
6
7
8
9
10
11
12
完全备份
     FLUSH TABLES  WITH  READ  LOCK;
     FLUSH LOGS;
     mysql -e  'show master status'  > /path/ to /somefile
     lvcreate -s -n /back/path/file 50M /dev/ to /devname
     mount /back/path/file /tmp/backup
     tar cf /tmp/backup/* /tmp/back1404.tar.xz
增量备份
     与mysqldump无异
.
还原流程
     复制物理文件 + 二进制恢复(与mysqldump无异)


4. select .. infile

1
2
3
4
5
6
7
8
9
10
11
部分备份
select  into  outfile  '/path/to/file'
fields terminated  by  ','  optionally enclosed  by  '"'
lines terminated  by  '\n'
from  db. table
# 注意此处仅有数据,那么在部分恢复的时候需要表结构
部分恢复
load  data infile  '/path/to/file'
into  table  db. table
fields terminated  by  ','  optionally enclosed  by  '"'
lines terminated  by  '\n'


常见5. innobackupex

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
完全备份
     innobackupex  --user=backuser --password=backpass /tmp/backup
还原完整备份
     # 整理备份(关键事务整理)
     innobackupex  --apply-log /tmp/backup/2014-04-11_23-43-04
还原完整备份
     # 注意数据目录需要为空
     innobackupex  --copy-back /tmp/backup/2014-04-11_23-43-04
.
.
增量备份
     innobackupex  --user=backuser --password=backpass --incremental /tmp/backup --incremental-basedir=/tmp/backup/2014-04-11_23-43-04/
还原增量备份
     # 整理增量备份至完全备份(事务回滚)
     innobackupex  --user=backuser --password=backpass --apply-log --redo-only /tmp/backup/2014-04-11_23-43-04/ --incremental-dir=/tmp/backup/2014-04-11_23-49-04/
还原增量备份
     innobackupex  --copy-back /tmp/backup/2014-04-11_23-43-04/
注意:
     #若要还原部分数据还是用二进制方式
.
备注:
     --compress   开启压缩
     --compress-threads   压缩线程数
     --databases=LIST    指定数据库备份
     --decrypt=ENCRYPTION-ALGORITHM   指定备份加密
     --export  
     --incremental DIRECTORY   增量放置目录
     --host    主机
     --password   密码
     --port   端口
     --parallel=NUMBER-OF-THREADS  开启多线程备份
     --redo-only  回滚
     --incremental-dir DIRECTORY   还原增量放置目录
     --incremental-basedir=DIRECTORY   基于完整备份做增量
     --stream=STREAMNAME     流模式(远程传输)
     --defaults-file   多实例场景
.
流式压缩转移到其他主机
innobackupex  --compress --stream=tar /tmp/backup/2014-04-11_23-43-04/ | ssh root@172.16.43.1 cat ">" /tmp/backup.tar




     本文转自My_King1 51CTO博客,原文链接:http://blog.51cto.com/apprentice/1394990 ,如需转载请自行联系原作者



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值