xtrabackup中三把锁研究

背景介绍

在使用xtrabackup愉快的进行备份的同时,xtrabackup中由于锁带来的线上问题也是很令人头疼的~,所以就找个时间对xtrabackup中的三把锁以及遇见的线上问题进行简单梳理。


原理解析

  • 第一步 : LOCK TABLES FOR BACKUP

第一步:锁表,这一步发生在innoDB表[即事务类的表]备份完成后,非事务表备份之前;其次,这里加的是MDL锁,影响非事务类表的写操作以及所有表的DDL操作,但是对事物类的表读写操作是不做限制的。

  • 第二步 : LOCK BINLOG FOR BACKUP

锁住binlog发生在所有的非事务表拷贝完成后,这一步也是由MDL锁实现的。这一过程中锁住binlog,防止新的事物提交,保证redo log和binlog的一致性,redo log后续用来做崩溃恢复。

  • 第三步 : UNLOCK BINLOG

最后拷贝完成,释放资源。

备份日志中顺序如下:

LOCK TABLES FOR BACKUP
... copy .frm, MyISAM, CSV, etc. 
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值