设为首页 加入收藏

TOP

Percona XtraBackup 实现全备&增量备份与恢复(四)
2017-04-07 10:24:29 】 浏览:418
Tags:Percona XtraBackup 实现 全备 增量 备份 恢复
录中的内容:

     一部分是MySQL下datadir的内容,如库目录,redolog,系统表空间。
     一部分是之前也有介绍过的,由备份工具生成的东西:
      backup-my.cnf
      ibdata1
      ib_logfile0    
      ib_logfile1
      mysql
      performance_schema
      test
      xtrabackup_binlog_info
      xtrabackup_binlog_pos_innodb
      xtrabackup_checkpoints
      xtrabackup_info
      xtrabackup_logfile
 
 
     进行prepare
 
    $ innobackupex --apply-log /data/backup/backup
 
     关闭mysqld
     $ mysqladmin -uroot -p shutdown
     Enter password: 
     $ ps -ef|grep mysql
     root       2991   2438  1 11:08 pts/0    00:00:00 grep mysql
 
     移除datadir:
     $ mv /data/mysql_data /data/mysql_data.bk
 
     恢复数据
     $ innobackupex --copy-back /data/backup/backup/
 
     修改新datadir的权限
     $ chown mysql:mysql -R /data/mysql_data
 
     启动数据库
     $ mysqld &
     $ ps -ef|grep mysql
     root       2712   2438 86 16:35 pts/0    00:00:02 mysqld
     root       2714   2438  0 16:35 pts/0    00:00:00 grep mysql
 


    检查test.tb中的内容 


     至此,完全备份&恢复完成
 


 〇 增量备份&恢复
 
    先来一次全备:
     $ innobackupex -uxbackup -pbackup123 --no-timestamp /data/backup/all_backup
     修改测试表及数据:(加个字段,改两条数据)


 
     执行第一次增量备份:
     $ innobackupex -uxbackup -pbackup123 --no-timestamp --incremental /data/backup/incremental-dir-1 --incremental-basedir=/data/backup/all_backup/ 
 
 
    可以再做一次增量备份:
     此时有两种增量备份方法:
     第一种,总是针对basedir做增量,这个方式恢复起来就特别简单了,只需要将最后一次的增量备份合并到全量备份里,就可以恢复了。
     第二种,总是针对上一次的增量,做增量备份。这个方式的恢复,就要逐一合并了,也就是我上述所说看起来有点复杂的增备思路。
     反正我是喜欢第一种的,感觉也可以适应绝大多数场景。
 
      我拿word涂了两张图,帮助理解。
     第一种:
     总是将1月1日的全备作为basedir,所以FROM_LSN号总是5000。
     
 
     第二种:
     总是把上一次(最近一次)的备份作为basedir。
     
 


 
    此处介绍第二种:
    多次增量备份的方法依旧,只需要修改--incremental-basedir即可:
     
     继续对test.tb做一些修改: 


     针对第一次增量备份/data/backup/incremental-dir-1,做第二次增量备份,将第二次的增量备份放到/data/backup/incremental-dir-2/
 
    $ innobackupex -uxbackup -pbackup123 --no-timestamp --incremental /data/backup/incremental-dir-2/ --incremental-basedir=/data/backup/incremental-dir-1
 

    prepare过程,这个也是增量备份里最蛋疼的过程:
     
     因为总共做了三次备份,所以先做三次prepare:
     先对全备做prepare:
     $ innobackupex --apply-log --redo-only /data/backup/all_backup/
     然后接下来做第一次增量备

首页 上一页 1 2 3 4 5 下一页 尾页 4/5/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇MongoDB高可用方案之副本集(Repli.. 下一篇MySQL Transportable Tablespace(..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目