跳过正文
  1. 全部/
  2. 笔记/
  3. 面试/
  4. 数据库/
  5. MySQL/

5 锁

目录

全局锁
#

全局锁主要应用于做全库逻辑备份,这样在备份数据库期间,不会因为数据或表结构的更新,而出现备份文件的数据与预期的不一样。 数据库一致性备份

表级锁
#

表锁: 1. 表共享读锁 2. 表独占写锁

元数据锁(MDL):MDL 是为了保证当用户对表执行 CRUD 操作时,防止其他线程对这个表结构做了变更。 1. 对一张表进行 CRUD 操作时,加的是 MDL 读锁; 2. 对一张表做结构变更操作的时候,加的是 MDL 写锁;

意向锁:意向共享锁和意向独占锁是表级锁,不会和行级的共享锁和独占锁发生冲突,而且意向锁之间也不会发生冲突,只会和共享表锁(lock tables … read)和独占表锁(lock tables … write)发生冲突。 1. 在使用 InnoDB 引擎的表里对某些记录加上「共享锁」之前,需要先在表级别加上一个「意向共享锁」; 2. 在使用 InnoDB 引擎的表里对某些纪录加上「独占锁」之前,需要先在表级别加上一个「意向独占锁」;

AUTO-INC 锁

行级锁
#

共享锁,排他锁

Record Lock,记录锁,也就是仅仅把一条记录锁上,RC,RR,RR Gap Lock,间隙锁,锁定一个范围,但是不包含记录本身 Next-Key Lock:Record Lock + Gap Lock 的组合,锁定一个范围,并且锁定记录本身,RR

Reply by Email