设为首页 收藏本站
查看: 382|回复: 0

[经验分享] MySQL的xtrabackup备份

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-3-20 09:01:33 | 显示全部楼层 |阅读模式
##################################################################################
######  
######恢复数据库的时候,需要将备份的日志应用备份的文件中去,让后才能进行恢复
######备份:innobackupex --user=root --password=banma --defaults-file=/etc/my.cnf  --database=testinnodb  /tmp/data/

######恢复2步骤 innobackupex --user=root --password=banma --apply-log /tmp/data/2013-08-23_16-09-10/
[iyunv@localhost 2013-08-23_16-09-10]# rsync -avz testinnodb ib* /usr/local/mysql_data/data/
        chown -R mysql:mysql /usr/local/mysql_data/data/
######
######
######
######
##################################################################################



一、安装部署和过程
1.下载安装
wget http://www.percona.com/redir/dow ... backup-1.6.7.tar.gz
2.安装需要的库
yum install cmake gcc gcc-c++ libaio libaio-devel automake autoconf bzr   bison libtool ncurses-devel zlib-devel
3、解压
tar zxvf xtrabackup-1.6.7.tar.gz  
4、进入目录
cd xtrabackup-1.6.7
5、复制
cd bin  
cp * /usr/bin  
然后就安装完成了,下面开始备份  

注意:文件解释
innobackupex是我们要使用的备份工具;
xtrabackup是被封装在innobackupex之中的,innobackupex运行时需要调用它;
xtrabackup_51是xtrabackup运行时需要调用的工具;
tar4ibd是以tar流的形式产生备份时用来打包的工具。


二、备份和恢复

6、对某个数据库进行全部备份的命令介绍
innobackupex --user=root --password=123456 --defaults-file=/etc/mysql/my.cnf --database=test --stream=tar /tmp/data/ 2>/tmp/data/info.log|gzip 1>/tmp/data/test.tar.gz
说明:
      --database=test 单独对test数据库做备份 ,若是不添加此参数那就那就是对全库做备份
      2>/tmp/data/info.log 输出信息写入日志中
      1>/tmp/data/test.tar.gz 打包压缩存储到该文件中

(
     mysql> create table test (id int);  
    Query OK, 0 rows affected (0.06 sec)  
    mysql> insert into test values(1);  
    Query OK, 1 row affected (0.04 sec)
)

7、恢复数据库
(1)创建一个文件夹
mkdir /tmp/restore
cd /tmp/data
tar -izxvf test.tar.gz -C /tmp/restore

[iyunv@localhost data]# ll /tmp/restore/
总用量 131096
-rw-r--r-- 1 root  root        263  8月 23 14:38 backup-my.cnf
-rw-rw---- 1 mysql mysql 134217728  8月 23 14:22 ibdata1
drwxr-xr-x 2 root  root       4096  8月 23 14:53 test
-rw-r--r-- 1 root  root         13  8月 23 14:38 xtrabackup_binary
-rw-r--r-- 1 root  root         21  8月 23 14:38 xtrabackup_binlog_info
-rw-r--r-- 1 root  root         73  8月 23 14:38 xtrabackup_checkpoints
-rw-r--r-- 1 root  root       2560  8月 23 14:38 xtrabackup_logfile
(2)开始应用日志(将备份文件中的日志,应用到备份文件中的数据文件上,
--apply-log指明是将日志应用到数据文件上,完成之后将备份文件中的数据恢复到数据库中)
[iyunv@localhost restore]# innobackupex --user=root --password=banma --apply-log /tmp/restore/
[iyunv@localhost restore]# ll
总用量 526356
-rw-r--r-- 1 root  root        263  8月 23 14:38 backup-my.cnf
-rw-rw---- 1 mysql mysql 134217728  8月 23 14:59 ibdata1
-rw-r--r-- 1 root  root  134217728  8月 23 14:59 ib_logfile0
-rw-r--r-- 1 root  root  134217728  8月 23 14:59 ib_logfile1
-rw-r--r-- 1 root  root  134217728  8月 23 14:59 ib_logfile2
drwxr-xr-x 2 root  root       4096  8月 23 14:53 test
-rw-r--r-- 1 root  root         13  8月 23 14:38 xtrabackup_binary
-rw-r--r-- 1 root  root         21  8月 23 14:38 xtrabackup_binlog_info
-rw-r--r-- 1 root  root         73  8月 23 14:59 xtrabackup_checkpoints
-rw-r--r-- 1 root  root    2097152  8月 23 14:59 xtrabackup_logfile
(3)恢复正式开始
然后把test目录复制到/usr/local/mysql_data/data目录
[iyunv@localhost restore]# rsync -avz test ib* /usr/local/mysql_data/data
sending incremental file list
ib_logfile0
ib_logfile1
ib_logfile2
ibdata1
test/
test/test.MYD
test/test.MYI
test/test.frm

sent 529692 bytes  received 149 bytes  13762.10 bytes/sec
total size is 536880534  speedup is 1013.29
[iyunv@localhost restore]#chown -R mysql:mysql /usr/local/mysql_data/data

三、增量备份和恢复
(1)先添加几条数据
insert into test values(10);
insert into test values(11);
insert into test values(12);
insert into test values(13);
insert into test values(14);
insert into test values(15);
(2)增量备份
[iyunv@localhost data]# innobackupex --user=root --password=banma --database=test --incremental --incremental-basedir=/tmp/restore/ /tmp/data
其中,--incremental指明是增量备份,--incremental-basedir指定上次完整备份或者增量备份文件的位置。
这里的增量备份其实只针对的是InnoDB,对于MyISAM来说,还是完整备份。
在进行增量备份的恢复之前,先关闭数据库,然后删除数据库test



(3)增量备份的恢复
[iyunv@localhost data]# innobackupex -user=root --password=banma --defaults-file=/etc/my.cnf --apply-log /tmp/restore/ --incremental-dir=/tmp/data/2013-08-23_15-22-54/
然后再进入恢复的目录/tmp/data
[iyunv@localhost 2013-08-23_15-22-54]# ll
总用量 172
-rw-r--r-- 1 root root    263  8月 23 15:22 backup-my.cnf
-rw-r--r-- 1 root root 147456  8月 23 15:22 ibdata1.delta
-rw-r--r-- 1 root root     18  8月 23 15:22 ibdata1.meta
drwxr-xr-x 2 root root   4096  8月 23 15:23 test
-rw-r--r-- 1 root root     13  8月 23 15:23 xtrabackup_binary
-rw-r--r-- 1 root root     21  8月 23 15:23 xtrabackup_binlog_info
-rw-r--r-- 1 root root     75  8月 23 15:23 xtrabackup_checkpoints
-rw-r--r-- 1 root root   2560  8月 23 15:23 xtrabackup_logfile

[iyunv@localhost 2013-08-23_15-22-54]# rsync -avz test ib* /usr/local/mysql_data/data/



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-48631-1-1.html 上篇帖子: mysql存储引擎优化参数 下篇帖子: mysql5.6初始密码位置 或者忘记密码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表