innobackup远程流式备份及其恢复主要操作

innobackup远程流式备份及其恢复主要操作

 

近期工作中遇到了磁盘空间紧张,但数据量较大的困扰。一直不太喜欢压缩流式多线程(较为复杂),今天专门抽时间做了一下测试,特意记录下来,方便以后使用。其实这个还是有很多优点,尤其是磁盘空间有限的情况下,不得不采用压缩流式备份了。

 

注意:
1、需要安装压缩软件 qpress
2、需要指定环境变量路径
3、这是在从库备份直接流式传输至远程,需要配置互信免密

# 备份方式
#!/bin/bash
innobackupex --defaults-file=/etc/my.cnf --slave-info --no-version-check --no-timestamp --socket=/tmp/mysql.sock --user=bkuser --password='Pwd2024@Root!' \
--compress --parallel=4 --stream=xbstream /backup/xtrabackup| ssh root@192.168.0.76 "cat - > /backup/xtrabackup/xtra_full_inno_`date +%Y%m%d%H%M%S`.xbstream"

chmod +x innobackup.sh

nohup innobackup.sh >/tmp/innobackup.log &

 

 

# 还原方式
mkdir /backup/test_backup
xbstream -x < xtra_full_inno_20240724145015.xbstream -C /backup/test_backup
ll /backup/test_backup/
cd /backup/test_backup/

for f in `find ./ -iname "*\.qp"`; do qpress -dT2 $f $(dirname $f) && rm -rvf $f; done

#应用日志与恢复
innobackupex --defaults-file=/etc/my.cnf --use-memory=1G  --apply-log /backup/test_backup
#innobackupex --defaults-file=/etc/my.cnf --move-back /backup/test_backup

 

# 用于搭建主从同步,这里IP需要指向主库
[root@db176 test_backup]# cat /backup/test_backup/xtrabackup_slave_info 
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000012', MASTER_LOG_POS=121;
[root@db176 test_backup]# 

 

posted @ 2024-07-24 15:22  davie2020  阅读(1)  评论(0编辑  收藏  举报