MySQL 8中新增的轻量级备份锁lock instance for backup---发表到爱可生开源社区

发表到爱可生开源社区 新特性解读 | 备份锁
mysql 8中新增了一个轻量级的备份锁(https://dev.mysql.com/doc/
refman/8.0/en/lock-instance-for-backup.html),它允许在online备份的时候进行DML操作,同时可防止快照不一致。这个锁禁止的操作很少,它禁止的操作包括:文件的创建、删除、改名,账户的管理和 REPAIR TABLE 、TRUNCATE TABLE、 OPTIMIZE TABLE。备份锁由lock instance for backup和unlock instance语法组成。使用这些语句需要BACKUP_ADMIN权限。
在这里插入图片描述

从图里面看长查询对flush tables with read lock是有影响的,整个系统会hung住,这时其它的数据库查询也不能用,包括use database。
在这里插入图片描述
可以看到大家都在等这个锁释放。而lock instance for backup则没有这个问题。Oracle自己的备份产品(MySQL Enterprise Backup 8)就用这个锁,Percona的Xtrabackup在8的版本也是用这个锁(https://www.percona.com/doc/percona-server/8.0/management/backup_locks.html)。
顺便提一下,percona自己的MySQL也有一种轻量级的备份锁“lock table for backup”也是一种比flush tables with read lock要轻量级的锁,它不会刷新表,即存储引擎不会强制关闭表,并且表不会从表缓存中排出. 因此,LOCK TABLES FOR BACKUP仅等待冲突的语句完成,它不会等待SELECT或更新InnoDB表来完成。

文章下方是我的微信,欢迎加我。👇

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

姚远Oracle ACE

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值