innobackupex备份和恢复原理-创新互联

innobackupex

专注于为中小企业提供成都网站设计、网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业盐城免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了数千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

全备份原理:

1.执行一次checkpoint,找到最后那个checkpoint的lsn

2.从这个lsn开始记录所有产生的redo log

3.cp  innodb  data

4.flush tables with read lock

5.cp 非innodb 数据(myisam数据,.FYM,FIM等文件)

6.锁定binlog文件并且记录当前的binlog postion

7.释放所有binlog 锁 ,释放unlock tables

增量备份的原理:在第三步的有所变化

3.数据页面的比对(lsn),记录下有lsn不一样的数据页面

备份命令:

全备:

innobackupex --user=$user --password=$pass --socket=$sock_path --no-timestamp --parallel=$num $DIR$basedir/basebk

增量备份:

innobackupex --user=$user --password=$pass --socket=$sock_path --no-timestamp --parallel=$num --incremental-basedir=$dir_bak

--incremental $dir_incre

常用参数:

--no-timestamp : 使用自定义目录

--parallel=$num :  并行的线程数

--databases:指定需要备份db列表,还可以指定到表

--incremental-basedir:上一次备份目录

innobackupex 恢复原理:将page head 部的lsn和 redo log 中lsn进行对比,

如果redo lsn 比页面的page的head 中的lsn大 ,就恢复该页面,

1.只有全备

innobackupex --apply-log  /storage/group2/bak/basebk

2.有增量备份

innobackupex --apply-log  --redo-only /storage/group2/bak/basebk

innobackupex --apply-log --incremental /storage/group2/bak/basebk --incremental-dir=/storage/group2/bak/incbk1

常用参数:

--apply-log: 应用全部的redo log

--redo-only:只应用commit的redo的 log

--incremental:每次恢复的过程中都是全备

问题2:(确认)

在应用最后一个增量备份的时候使用了 --redo-only 参数,导致 mysql 启动失败

,报错:日志丢失或者文件损坏问题分析

解释:在mysql启动时候会对mysql数据页面数据的完整性进行检测,发现有问题的页面就试图

恢复,而恢复是要通过redolog的,当redolog找不到的时候,就会报错,页面损坏。

问题3:(已经确认)

在有增量备份的时候进行恢复,是否可以不要--redo-only 参数

不可以,可能会造成部分数据数据丢失

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前标题:innobackupex备份和恢复原理-创新互联
文章分享:http://pwwzsj.com/article/dgoioj.html