首页 技术 正文
技术 2022年11月19日
0 收藏 805 点赞 5,001 浏览 4106 个字

什么是Xtrabackup?
答:Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品。

下载Percona XtraBackup

https://www.percona.com/downloads/XtraBackup/LATEST/
wget ftp://rpmfind.net/linux/dag/redhat/el6/en/x86_64/dag/RPMS/libev-4.15-1.el6.rf.x86_64.rpm
wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.8/binary/redhat/6/x86_64/percona-xtrabackup-24-2.4.8-1.el6.x86_64.rpmyum install libev-4.15-1.el6.rf.x86_64.rpm
yum install percona-xtrabackup-24-2.4.8-1.el6.x86_64.rpm

一、备份过程

参数

--databases=name :指定将要备份的数据库列表(不指定为全备)
--incremental :建立一个增量备份
--incremental-lsn=LSN : 指定增量备份将要开始的LSN,它替代选项--incremental-basedir
--slave-info 备份复制从服务端,主从信息记录在ibbackup_slave_info文件中

1:全量备份

命令                  读取指定的my.cnf文件              用户                   密码                                   IP 全备地址

innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --host=10.4.90.90 /root/111/full/

2:第一次增量备份

create database test2;

命令                    读取指定的my.cnf文件                  用户                 密码                        IP                    创建测试库test1,在全量备份的基础上再进行增量备份                 增量命令            第一次增量地址

innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --host=10.4.90.90 --incremental-basedir=/root/111/full/2017-08-31_10-28-43/ --incremental  /root/111/1/incremental

3:第二次增量备份

create database test3;

命令                    读取指定的my.cnf文件                  用户                 密码                        IP                    创建测试库test2,在全量备份的基础上再进行增量备份                              增量命令            第二次增量地址

innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --host=10.4.90.90 --incremental-basedir=/root/111/1/incremental/2017-08-31_10-29-24 --incremental  /root/111/2/incremental

4:第三次增量备份

create database test3;

命令                    读取指定的my.cnf文件                  用户                 密码                        IP                    创建测试库test3,在全量备份的基础上再进行增量备份                             增量命令            第三次增量地址

innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --host=10.4.90.90 --incremental-basedir=/root/111/2/incremental/2017-08-31_10-32-02/ --incremental  /root/111/3/incremental

二、恢复过程

进行增量还原数据库,先停止数据库,在删除删除数据库的data

1:第一次还原全量恢复

命令                        读取指定的my.cnf文件            用户              密码                 从备份恢复           选项用于准备全库备份和合并处最有一个备份外的所有增量备份           全备地址

innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --apply-log                    --redo-only                         /root/111/full/2017-08-31_10-28-43

–apply-log :准备(prepare)一个完全备份(一般情况下,在备份完成后,数据尚且不能用于恢复操作,因为备份的数据中可能会包含尚未提交的事务或已经提交但尚未同步至数据文件中的事务。因此,此时数据文件仍处理不一致状态。“准备”的主要作用正是通过回滚未提交的事务及同步已经提交的事务至数据文件也使得数据文件处于一致性状态)

–redo-only :该选项强制跳过rollback阶段,只进行redo。这是有必要使用的,如果备份后,要使用增量改变的。

从一个完全备份中恢复数据.恢复的时候记得删除data目录,程序会自己建立data目录的,如果有的话程序会忽略恢复过程。导致恢复失败。

2:第一次还原增量恢复

命令                             读取指定的my.cnf文件          用户             从备份恢复                                                全备地址                                               增量地址

innobackupex --defaults-file=/etc/my.cnf    --user=root  --apply-log  --redo-only  /root/111/full/2017-08-31_10-28-43  --incremental-dir=/root/111/1/incremental/2017-08-31_10-29-24/

3:第二次还原增量恢复

命令                             读取指定的my.cnf文件          用户             从备份恢复                                                全备地址                                               增量地址

innobackupex --defaults-file=/etc/my.cnf    --user=root  --apply-log  --redo-only  /root/111/full/2017-08-31_10-28-43  --incremental-dir=/root/111/2/incremental/2017-08-31_10-32-02/

4:第三次还原增量恢复

命令                             读取指定的my.cnf文件          用户             从备份恢复                                                全备地址                                               增量地址

innobackupex --defaults-file=/etc/my.cnf    --user=root  --apply-log  --redo-only  /root/111/full/2017-08-31_10-28-43  --incremental-dir=/root/111/2/incremental/2017-08-31_10-32-02/

三、复制所有的备份到他们原来的位置

命令                       读取指定的my.cnf文件        用户                                      全备地址

innobackupex --defaults-file=/etc/my.cnf --user=root --copy-back /root/111/full/2017-08-31_10-28-43/
--copy-back :从一个完全备份中恢复数据(innobackupex命令的--copy-back选项用于执行恢复操作,其通过复制所有数据相关的文件至mysql服务器DATADIR目录中来执行恢复过程。innobackupex通过backup-my.cnf来获取DATADIR目录的相关信息)

授权新data目录的权限
chown -R mysql.mysql data

全量备份某个数据库,需要先备份下面2个,要不启动不了。
innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --host=10.4.90.90 --databases=mysql /root/111/full/
innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --host=10.4.90.90 --databases=performance_schema /root/111/full/
然后在备份你想要的数据库
innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --host=10.4.90.90 --databases=test1 /root/111/full/

mysql5.5 建立同步用户
grant replication slave on *.* to ‘backup’@’%’ identified by ‘123456’;

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,077
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,552
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,401
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,176
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,813
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,896