xtrabackup全库备份和binlog增量备份的配合

[root@haha ~]# mkdir -p /opt/mysqlbackup/{full,inc}
##full全备存放的目录
##inc增量备份存放的目录

[root@haha ~]# innobackupex --defaults-file=/etc/my.cnf --socket=/usr/local/mysql/mysql.sock --user=root --password=123456 /opt/mysqlbackup/full

[root@haha ~]# cat /opt/mysqlbackup/full/2021-03-11_18-01-36/xtrabackup_binlog_info mysql_bin.000004	774
##查看完全备份时binlog日志位置(position)

mysql> insert into test values(111,"mm");
Query OK, 1 row affected (0.00 sec)

mysql> insert into test values(112,"xx");
Query OK, 1 row affected (0.00 sec)

[root@haha ~]# mysqlbinlog -v --start-position=774 /data/mysql/log/mysql_bin.000004 > /opt/mysqlbackup/inc/$(date +%Y-%m-%d_%H:%M:%S).sql

[root@haha ~]# /etc/inti.d/mysqld stop
##停止数据库

[root@haha ~]# mv /data/mysql/data/ /tmp/ 
##移动数据库,模拟数据库损坏,data目录下非空无法恢复

[root@haha ~]# innobackupex --apply-log /opt/mysqlbackup/full/2021-03-11_18-01-36/

[root@haha ~]# innobackupex --copy-back /opt/mysqlbackup/full/2021-03-11_18-01-36/
##注:datadir必须是为空的,innobackupex  --copy-back不会覆盖已存在的文件,还要注意,还原时需要先关闭服务,如果服务是启动的,那么就不能还原到datadir

[root@haha ~]# chown -R mysql:mysql /data/mysql/data/

[root@haha ~]# /etc/init.d/mysqld start

mysql> source /opt/mysqlbackup/inc/2021-03-11_18:06:01.sql

mysql> select * from haha.test;
+------+------+
| id   | name |
+------+------+
|    1 | zz   |
|  111 | mm   |
|  112 | xx   |
+------+------+
3 rows in set (0.00 sec)
##完全备份id=1,和增量备份id=111,id=112全部恢复
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值