其他分享
首页 > 其他分享> > Xtrabackup的安装和使用

Xtrabackup的安装和使用

作者:互联网

涉及服务器:A  B  

MySQL版本:5.7.19

一.Xtrabackup的安装

-- 查看对应的libgcrypt版本
 yum list installed|grep libgcrypt

  

-- 去官网下载对应的xbk安装包
wget https://downloads.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.14/binary/tarball/percona-xtrabackup-2.4.14-Linux-x86_64.libgcrypt153.tar.gz

  

-- 解压安装
tar -zvxf percona-xtrabackup-2.4.14-Linux-x86_64.libgcrypt153.tar.gz -C /usr/local/
cd /usr/local/
ls -lrth
mv percona-xtrabackup-2.4.14-Linux-x86_64/ xtrabackup
ln -fs /usr/local/xtrabackup/bin/* /usr/bin/
xtrabackup -v

  

  二.Xtrabackup的使用

1.全量备份

-- 进行A服务器数据全量备份
/usr/bin/innobackupex --defaults-file=/etc/my.cnf  --user= XXX --password="12345" --host=192.xxx.x.xx --port=3306 
--stream=tar /tmp | gzip | cat -> `date +"%Y-%m-%d-%H-%M-%S"`_full.tar.gz

  

 2.恢复全备数据

-- 传输备份文件至B服务器
scp -r  -P 端口号  /tmp/2022-05-08-17-03-40_full.tar.gz  root@192.168.X.XXX:/tmp/

-- 在B服务器创建临时文件夹并解压备份文件
mkdir /backup/
tar -zxvf 2022-05-08-17-03-40_full.tar.gz -C /backup/

-- 关闭mysql服务
service mysql stop

-- 应用日志
innobackupex --apply-log /backup/

--重命名mysql数据data目录并将备份的数据 copy back 或 move back
mv /data/data  /data/data.bak
mv /data/binlog  /data/binlog.bak

-- 恢复数据
innobackupex --defautls-file=/etc/my.cnf  --datadir=/data/data/ --copy-back  /backup

-- 授权 data目录和mysql目录
chown -R mysql.mysql /data/

-- 启动mysql服务
service mysql start

  

 记录:此时使用GTID方式开启主从复制,可以成功。

mysql> change master to master_host='192.168.9.XXX',master_user='XXX',master_port=3306,master_password='XXX',master_auto_position=1 ;

3.增量备份

选项说明:
--user:#该选项表示备份账号
--password:#该选项表示备份的密码
--host:#该选项表示备份数据库的地址
--databases:#该选项接受的参数为数据库名,如果要指定多个数据库,彼此间需要以空格隔开;
如:"xtra_test dba_test",同时,在指定某数据库时,也可以只指定其中的某张表。
如:"mydatabase.mytable"。该选项对innodb引擎表无效,还是会备份所有innodb表
--defaults-file:#该选项指定从哪个文件读取MySQL配置,必须放在命令行第一个选项位置
--incremental:#该选项表示创建一个增量备份,需要指定--incremental-basedir
--incremental-basedir:#该选项指定为前一次全备份或增量备份的目录,与--incremental同时使用
--incremental-dir:#该选项表示还原时增量备份的目录
--include=name:#指定表名,格式:databasename.tablename

由于我之前全备的时候是直接生成了压缩包,无法直接找到增量的基准文件,所以将原压缩包解压至/tmp/full/目录下作为基准目录

4.恢复增量数据 

--备份
innobackupex --user=XXX --password="12345" --host=192.168.9.XXX --incremental /tmp/incre --incremental-basedir=/tmp/full/


-- 生成的增量备份文件夹 路径为 /tmp/incre/2022-05-09_11-53-20  

-- 恢复

-- 将备份文件传输到B服务器
scp -r -P端口 /tmp/incre/* root@192.168.9.xxx:/incre/

-- 停止mysql服务
service mysql stop 
--重命名data目录 mv /data/data /data/data.bak mv /data/binlog /data/binlog.bak -- 合并全备数据目录,确保数据的一致性 innobackupex --apply-log --redo-only /backup/ -- 将增量备份数据合并到全备数据目录当中 innobackupex --apply-log --redo-only /backup/ --incremental-dir=/incre/2022-05-09_11-53-20/ -- 恢复数据 innobackupex --defautls-file=/etc/my.cnf --datadir=/data/data/ --copy-back /backup/ -- 授予权限 chown -R mysql.mysql /data/ -- 启动服务 service mysql start

  

 

     

标签:tmp,tar,--,安装,备份,使用,Xtrabackup,mysql,data
来源: https://www.cnblogs.com/pipiisacat/p/16245987.html