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