网站地图    收藏   

主页 > 后端 > mysql数据库 >

Xtrabackup介绍和使用【基础篇】 - mysql数据库栏目

来源:自学PHP网    时间:2015-04-16 10:51 作者: 阅读:

[导读] Xtrabackup介绍和使用【基础篇】先说概述Xtrabackup有2款主要工具:xtrabackup和innobackupexxtrabackup只能备份和恢复innodb,而且只备份 ibd文件, frm文件它不管,恢复时DBA要自己提供innobackupex能备...

Xtrabackup介绍和使用【基础篇】
 
先说概述 
 
Xtrabackup有2款主要工具:xtrabackup和innobackupex
xtrabackup只能备份和恢复innodb,而且只备份.ibd文件,.frm文件它不管,恢复时DBA要自己提供
innobackupex能备份和恢复MyISAM文件及.frm文件,并且对xtrabackup作了友好的封装,所以可用它进行全库备份
不过有个问题,在对MyISAM备份时,会加个全库读锁,阻塞写服务
 
关于安装
 
依赖包
[plain] 
yum install libaio libaio-devel perl-Time-HiRes curl curl-devel zlib-devel openssl-devel perl cpio expat-devel gettext-devel perl-ExtUtils-MakeMaker perl-DBD-MySQL.* package -y  
 
下面分别对这2个工具做简单测试
 
innobackupex的备份原理如下图:
 
 
简单实例
 
备份
$ innobackupex --user=root --password=oracle /home/mysql/backup
模拟故障
$ mysqladmin -uroot -poracle shutdown
$ rm -rf /home/mysql/mysql/data/*
恢复
$ innobackupex --user=root --password=oracle --apply-log /home/mysql/backup/2013-10-08_14-32-27
$ innobackupex --user=root --password=oracle --copy-back /home/mysql/backup/2013-10-08_14-32-27 
 
 
xtrabackup备份原理大概有如下3个过程:
① 记录LSN(log sequence number)
② 复制文件
③ 启动后台进程,不停地记录变化的redo
这个流程可以从xtrabackup备份输出结果看出来
 
简单测试
 
备份
$ xtrabackup --backup --target-dir=/home/mysql/backup
[mysql@even backup]$ ls
employees  ibdata1  xtrabackup_checkpoints  xtrabackup_logfile
模拟故障 
关闭MySQL,把整个datadir目录清空,不过仅保留mysql和performance_schema这两个库
恢复
--恢复ibdata1,让数据文件自身保持一致
$ xtrabackup --prepare --target-dir=/home/mysql/backup/
--恢复ib_logfile0  ib_logfile1,减少恢复时间
$ xtrabackup --prepare --target-dir=/home/mysql/backup/
$ rsync -avrP /home/mysql/backup/ /home/mysql/mysql/data/
$ chown -R mysql:dba /home/mysql/mysql/data 
 

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论