使用XtraBackup对mysql进行全量增量备份还原

XtraBackup

https://www.percona.com/downloads/XtraBackup/LATEST/

常用备份参数
--user=     #指定数据库备份用户
--password=  #指定数据库备份用户密码
--port=     #指定数据库端口
--host=     #指定备份主机
--socket=    #指定socket文件路径
--databases=  #备份指定数据库,多个空格隔开,如--databases="dbname1 dbname2",不加备份所有库
--defaults-file=       #指定my.cnf配置文件
--apply-log         #日志回滚
--incremental=          #增量备份,后跟增量备份路径
--incremental-basedir=     #增量备份,指上次增量备份路径
--redo-only         #合并全备和增量备份数据文件
--copy-back         #将备份数据复制到数据库,数据库目录要为空
--no-timestamp          #生成备份文件不以时间戳为目录名
--stream=             #指定流的格式做备份,--stream=tar,将备份文件归档
--remote-host=user@ip DST_DIR #备份到远程主机

//全量备份
innobackupex --defaults-file=/etc/my.cnf --user=root --password='123456'  --no-timestamp /data/backup/full
不加时间戳备份
innobackupex --user=root --password='123456'  --no-timestamp  /data/backup/`date +%Y-%m-%d`

//全量恢复
#(1)  对数据进行准备工作
innobackupex --apply-log /data/backup/full/
#(2) 完成准备工作后,停止mysql,并删除旧文件
systemctl stop mysql || /etc/init.d/mysqld stop
rm -rf /var/lib/mysql/*
#(3)将备份的文件还原到对应的数据目录中
innobackupex --defaults-file=/etc/my.cnf --copy-back /data/backup/full/
#(4)修改mysql的权限为mysql用户
chown -R mysql: /var/lib/mysql 
#(5)重新启动mysql
       systemctl start mysql  || /etc/init.d/mysqld start


//增量备份
innobackupex --defaults-file=/etc/my.cnf --user=root --password='123456' --no-timestamp --incremental-basedir=/data/backup/full --incremental /data/backup/incre01
    
//增量恢复
1.准备全量数据
innobackupex --user=root --password='123456' --apply-log --redo-only /data/backup/full

2.将增量合并到全量备份中(如果是最后一个增量,不需要--redo-only
innobackupex --user=root --password='123456' --incremental --apply-log --redo-only /data/backup/full --incremental-dir=/data/backup/incre01

3.执行全量恢复操作

发布了67 篇原创文章 · 获赞 9 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/robinhunan/article/details/84824816