innobackupex备份以及流备份(远程备份只能本地备份后通过ssh传过去)(mysql stop状态下也能备份
###########源进行全备##############
innobackupex --defaults-file=/usr/local/mysql/etc/my.cnf --host=127.0.0.1 --port=3307 --user=root --password=****** \
--stream=xbstream --compress --compress-threads=5 . > ./bakfull_compress.xbstream
################传到从上进行解压#############
xbstream -x <./bakfull_compress.xbstream -C ./restore/
cd ./restore
for f in find ./ -iname "*\.qp"; do qpress -dT2 $f $(dirname $f) && rm -f $f; done#############恢复数据###############
###########从上停止mysqld进程#######
systemctl stop mysqld3308
innobackupex --defaults-file=/usr/local/mysql3308/etc/my.cnf --use-memory=1G --apply-log ./restore
innobackupex --defaults-file=/usr/local/mysql3308/etc/my.cnf --copy-back ./restore
chown mysql:mysql -R /usr/local/mysql3308/data
systemctl restart mysqld3308
#######登录进mysql########reset master;
set @@global.gtid_purged='0f07c648-618c-11ec-ae19-5254000aa7bf:1-2207471,
1250ceb9-b976-11ec-86ee-5254000aa7bf:1-20,
2133c30c-b977-11ec-a0e9-5254000aa7bf:1-5,
7e5451ae-b977-11ec-94ef-5254000aa7bf:1-39797';CHANGE MASTER TO
MASTER_HOST='127.0.0.1',
MASTER_USER='repl',
MASTER_PASSWORD='123456',
MASTER_PORT=3307,
MASTER_CONNECT_RETRY=10,
MASTER_AUTO_POSITION=1;start slave;
show slave status;
#####################################(压缩会消耗时间导致备份时增加)##############################################
#innobackup本地备份并通过gzip压缩
innobackupex --defaults-file=/etc/my.cnf --host=192.168.100.96 --port=3306 --user=root --password=skyvis_mysql --stream=tar /temp | gzip > ./backup.tar.gz
#innobackup本地备份并通过compress压缩(生成qp文件)
innobackupex --defaults-file=/etc/my.cnf --host=192.168.100.96 --port=3306 --user=root --password=skyvis_mysql --compress /temp
#流式备份---备份到远程通过ssh传过去,通过gzip或者--compress压缩
innobackupex --defaults-file=/etc/my.cnf --host=192.168.100.96 --port=3306 --user=root --password=skyvis_mysql --stream=tar /temp | ssh root@192.168.100.97 "gzip - > /data1/backup_mysql.tar.gz"
innobackupex --defaults-file=/etc/my.cnf --host=192.168.100.96 --port=3306 --user=root --password=skyvis_mysql --stream=xbstream --compress /temp | ssh root@192.168.100.97 "cat - > /data1/backup_mysql.xbstream"
#1使用xbstream展开xbstream文件
xbstream -x < ./backup_mysql.xbstream -C ./shou
#2--decompress解压qp文件,--remove-original解压完qp文件后删除qp文件.系统需要安装qpress软件
innobackupex --decompress --remove-original $(pwd)
#流式备份---备份到远程通过ssh传过去,不压缩(需要指定--stream)
innobackupex --defaults-file=/etc/my.cnf --host=192.168.100.96 --port=3306 --user=root --password=skyvis_mysql --stream=tar /temp | ssh root@192.168.100.97 "cat - > /data1/backup_mysql.tar"
################################################################################
#进行第一次全备
[root@shou ~]#innobackupex --defaults-file=/usr/local/mysql/etc/my.cnf --host=127.0.0.1 --port=3306 --user=root --password=skyvis_mysql ./restor
#进行第一次增备,基于上次的全备
[root@shou ~]#innobackupex ---defaults-file=/usr/local/mysql/etc/my.cnf --host=127.0.0.1 --port=3306 --user=root --password=skyvis_mysql --incremental ./restore/incer1 --incremental-basedir=./restore/2022-04-23_11-39-31
#进行第二次全备,基于第一次增备
[root@shou ~]#innobackupex ---defaults-file=/usr/local/mysql/etc/my.cnf --host=127.0.0.1 --port=3306 --user=root --password=skyvis_mysql --incremental ./restore/incer2 --incremental-basedir=./restore/incer1/2022-04-23_11-47-10
##########################恢复时进行数据整合####################################################
# 对整合的开始备份集——全备集应用日志,并指定"--redo-only"表示开始进入日志追加
innobackupex --apply-log --use-memory=1G --redo-only ./restore/2022-04-23_11-39-31/
# 对第一个增备集进行"准备",将其追加到全备集中
innobackupex --apply-log --use-memory=1G --redo-only ./restore/2022-04-23_11-39-31/ --incremental-dir=./restore/incer1/2022-04-23_11-47-10/
# 对第二个增备集进行"准备",将其追加到全备集中,但是不再应用"--redo-only",表示整合的结束点。如果不小心加了这个选项,影响不大,服务器将执行回滚阶段。
innobackupex --apply-log --use-memory=1G ./restore/2022-04-23_11-39-31/ --incremental-dir=./restore/incer2/2022-04-23_11-53-19/
# 对整合完成的全备集进行一次整体的"准备"(如果上步添加了--redo-only ,执行此步骤也会回滚。)
innobackupex --apply-log --use-memory=1G ./restore/2022-04-23_11-39-31/
###################进行数据的恢复#############################
innobackupex --defaults-file=/usr/local/mysql3308/etc/my.cnf --copy-back ./restore/2022-04-23_11-39-31/
###############修改属主属组并启动mysqld3308###########
chown mysql:mysql -R /usr/local/mysql3308/data && systemctl start mysqld3308文章来源:https://www.toymoban.com/news/detail-418135.html
#官方文档给出的恢复步骤:
innobackupex --apply-log --redo-only BASE-DIR
innobackupex --apply-log --redo-only BASE-DIR --incremental-dir=INCREMENTAL-DIR-1
innobackupex --apply-log BASE-DIR --incremental-dir=INCREMENTAL-DIR-2
innobackupex --apply-log BASE-DIR
innobackupex --copy-back BASE-DIR
-----------------------------------
文章来源地址https://www.toymoban.com/news/detail-418135.html
到了这里,关于innobackupex备份以及流备份的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!