快盘下载:好资源、好软件、快快下载吧!

快盘排行|快盘最新

当前位置:首页软件教程安卓软件教程 → xtrabackup工具实现mysql/mariadb增量备份教程脚本

xtrabackup工具实现mysql/mariadb增量备份教程脚本

时间:2020-06-05 17:54:34人气:作者:快盘下载我要评论

相比很多朋友都用到mysql或者mariadb数据库。以前都是简单的使用mysqldump工具进行简单备份,如果遇到比较复杂的备份就有些力不从心了。今天小编带你认识一款使用Xtrabackup进行增量备份工具。非常牛逼。


xtrabackup工具实现mysql/mariadb增量备份教程脚本


1、安装 percona 源

yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm

2、安装 xtrabackup

yum install percona-xtrabackup-24 -y            #2.4 之前版本可能不支持 mysql5.7

3、创建备份文件夹

mkdir /data/backup/mysqlbak

4、编写备份脚本

vim mysqldump.sh
#!/bin/sh
base_dir="/data/backup/mysqlbak/"
log_file="/tmp/Backup.log"
increse_dir=
grep "Backup created in directory" $log_file | awk -F "'" {'print$2'}

dir_name=
grep "Backup created in directory" $log_file | awk -F "'" {'print$2'} | awk -F "/" {'print$5'}

increse_dir_path=
grep "Backup created in directory" $log_file | awk -F "'" {'print$2'} | awk -F '/' '{for(i=1;i<=4;i++)printf $i"/"; printf "
"}'

fullbackup_exist=
ls $base_dir | wc -l

if [$fullbackup_exist = 0 -a "$1" != "full_backup"];then
echo "you must make the fullbackup first! please usage: $0 full_backup"
exit 88;
fi
full_backup() {
innobackupex --user=root --password=password $base_dir
}
increase_backup() {
innobackupex --user=root --password=password --incremental-basedir=$increse_dir --incremental $base_dir
cd $increse_dir_path
tar -zcvf ${dir_name}.tar.gz $dir_name
mv $increse_dir /tmp/
}
case "$1" in
full_backup)
full_backup > $log_file 2>& 1
;;
increase_backup)
increase_backup > $log_file 2>& 1
;;
)
echo "usage: $0 {full_backup|increase_backup}"
;;
esac

5、执行第一次全量备份

./mysqldump.sh full_backup

6、创建计划任务,进行日常增量备份

crontab -e

01 00 sh /root/mysqldump.sh increase_backup

7、制作还原脚本

#!/bin/sh
base_dir="/data/backup/"
tar_files=
find $base_dir -name "*.tar.gz"

recover_mysql() {
for tar_file in $tar_files
do
cd $base_dir
tar -zxvf $tar_file
rm -f $tar_file
done
full_dir=
ls -lt $base_dir | tail -1 | awk {'print$9'}

increase_dirs=
ls -lrt $base_dir | grep "root" | awk {'print$9'}

innobackupex --apply-log --redo-only ${base_dir}${full_dir}
for increase_dir in $increase_dirs
do
if ["$increase_dir" != "$full_dir"];then
innobackupex --apply-log --redo-only --incremental ${base_dir}${full_dir} --incremental-dir=${base_dir}${increase_dir}
fi
done
innobackupex --copy-back ${base_dir}${full_dir}
}
recover_mysql > /tmp/recover_mysql.log 2>& 1

相关文章

  • 一步步带你设计MySQL索引数据结构

    一步步带你设计MySQL索引数据结构,想想我们生活中的例子,比如新华字典,我们有一个目录,目录根据拼音排序,内容包含了汉字位于字典中具体的的页码。聪明的你肯定也想到了,我们也可以借鉴这种思想,建立一个MySQL的目录,叫做“索引”。...
  • 影刀连接Mysql数据库

    影刀连接Mysql数据库,影刀配置连接mysql数据库基础版...

网友评论

快盘下载暂未开通留言功能。

关于我们| 广告联络| 联系我们| 网站帮助| 免责声明| 软件发布

Copyright 2019-2029 【快快下载吧】 版权所有 快快下载吧 | 豫ICP备10006759号公安备案:41010502004165

声明: 快快下载吧上的所有软件和资料来源于互联网,仅供学习和研究使用,请测试后自行销毁,如有侵犯你版权的,请来信指出,本站将立即改正。