使用xtrbackup(innobackupex)增量备份mysql(二)

2019-11-06 分类:Mysql, 系统服务 阅读(30) 评论(0)

增量备份仅针对于innodb引擎,对于myisam引擎依然是全备。

参数说明:

--user:数据库用户名

--password:数据库密码

--socket:连接本地数据库时使用的套接字文件路径

--incremental:指定增量备份路径

--incremental-basedir:指定基于哪个备份做增量备份

--parallel=2:指定线程数量

--apply-log:指定xtrabackup_logfile文件,一般情况下,在备份完成后,数据尚且不能用于恢复操作,因为备份的数据中可能会包含尚未提交的事务或已经提交但尚未同步至数据文件中的事务。因此,此时数据 文件仍处理不一致状态。--apply-log的作用是通过回滚未提交的事务及同步已经提交的事务至数据文件使数据文件处于一致性状态。

--redo-only:只重做已提交的事务,不回滚未提交的事务

--incremental-dir:指定增量备份的目录

 

增量备份三个步骤:

 

1.全备(备份至 /data/backup/full/目录)

innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --socket=/tmp/mysql.sock   /data/backup/full/

 

2.第一次增量备份(基于全备)

innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --scoket=/tmp/mysql.sock --incremental /data/backup/incremental --incremental-basedir=/data/backup/full/2019-11-06_15-04-50 --parallel=2

 

3.第二次增量备份(基于上一次的增量备份)

innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --socket=/tmp/mysql.sock --incremental /data/backup/incremental/ --incremental-basedir=/data/backup/incremental/2019-11-06_15-19-32/ --parallel=2

 

增量备份的恢复:

 

1.应用事务日志的提交,不执行回滚

innobackupex --apply-log --redo-only /data/backup/full/2019-11-06_15-04-50/

 

2.执行第一个增量备份的恢复

innobackupex --apply-log --redo-only /data/backup/full/2019-11-06_15-04-50/ --incremental-dir=/data/backup/incremental/2019-11-06_15-19-32/

 

3.执行第二个增量备份的恢复(恢复最后一个增量备份的时候需要去掉redo-only参数

innobackupex --apply-log /data/backup/full/2019-11-06_15-04-50/ --incremental-dir=/data/backup/incremental/2019-11-06_15-32-05/

 

4.把所有合在一起的完全备份整体进行一次apply操作,回滚未提交的数据:

innobackupex --apply-log /data/backup/full/2019-11-06_15-04-50/

 

5.将备份恢复到mysql数据文件目录

#模拟故障
mv /data/mysql{,2}
systemctl stop mysqld

#执行恢复,也可以执行cp -r命令手动恢复
innobackupex --defaults-file=/etc/my.cnf --copy-back --rsync /data/backup/full/2019-11-06_15-04-50/

#修改权限启动mysql
chown -R mysql.mysql mysql
systemctl start mysqld

 

标签:

您可能也喜欢:

mysql修改密码和设置密码永不过期

进入mysql命令行执行: #改密码 SET PASSWORD = PASSWORD('12345'); #设置密码永不过期 ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER; #刷新权限表 flush privileges; ...

more

Innobackupex(xtrabackup)完全备份Mysql过程

      1 首先会启动一个xtrabackup_log后台检测的进程,实时检测mysql 事务日志redo的变化,一旦发现redo有新的日志写入,立刻将日志写入到日志文件xtrabackup_logfile中 2 复制innodb的数据文件和系统表空间文件idbd...

more

使用xtrbackup(innobackupex)全量备份mysql(一)

版本对应关系: mysql 5.1 – xtrabackup2.0 mysql5.6 --xtrabackup 2.2 mysql5.7 --xtrabackup2.4 mysql8.0 --xtrabackup8.0   xtrbackup工具下载安装: 2.4: https://www...

more

欢迎新朋友你的到来!
还没有人抢沙发呢~
昵称
邮箱
网站

登录

忘记密码 ?

切换登录

注册