MySQL中常见锁
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,1.MySQL服务器逻辑架构图片来源:MySQL官网每个连接都会在MySQL服务端产生一个线程(内部通过线程池管理线程)。比如:一个select语句进入,MySQL首先会在查询缓存中查找是否缓存了这个
千家信息网最后更新 2026年11月01日MySQL中常见锁
1.MySQL服务器逻辑架构
图片来源:MySQL官网
每个连接都会在MySQL服务端产生一个线程(内部通过线程池管理线程)。比如:一个select语句进入,MySQL首先会在查询缓存中查找是否缓存了这个select结果集,如果没有则继续执行解析→优化→执行得过程;否则会直接从缓存中获取结果集。
2.MySQL锁
共享锁与排他锁(Shared and Exclusive Locks)
共享锁和排他锁都是标准的行级锁。
1)共享锁S:标准的读锁,读锁允许多个连接可以同一时刻并发的读取同一资源,互不干扰。
2)排他锁X:又称写锁,一个写锁会阻塞其他的写锁或读锁,保证同一个时刻只有一个连接可以写入数据,同时防止其他用户对这个数据的读写。
| 锁类型 | 英文名 | 又称 | 同一时刻 | 共同点 |
|---|---|---|---|---|
| 共享锁S | Shared Locks | 读锁 | 同一时刻,允许多个连接并发的读取同一资源,互不干扰。 | 两者都是锁机制本身的策略,通过这两种策略对锁进行了区分 |
| 排他锁X | Exclusive Locks | 写锁 | 同一时刻只有一个连接可以写入数据,同时防止其他用户对这个数据的读写。 | 同上 |
2.2意向锁(Intention Locks)
背景:多粒度锁的并存场景。
InnoDB支持多粒度锁(锁粒度:可分为行锁和表锁),允许行锁和表锁共存。为了实现多粒度级别的锁定,InnoDB使用了意图锁。
意向锁:表级别的锁。先提前声明的一个意向,并获取表级别的意向锁(共享意向锁IS或排他意向锁IX),如果获取成功,则稍后将要或正在(才被允许),对该表的某些行加锁(S或X)了。
注意:除了LOCK TABLES...WRITE,会锁住表中的所有行,其他场景意向锁实际锁不住任何行。
意向协议锁:在事务能够获取表中的行上的共享锁之前,他必须首先获取表上的IS锁或更强的锁。在事务能够获取表中的行上的独占锁之前,它必须首先获取表上的IX锁。
意向锁实现的背景是多粒度锁的并存场景,兼容性如下:
| X | IX | S | IS | |
|---|---|---|---|---|
| X | Conflict | Conflict | Conflict | Conflict |
| IX | Conflict | Compatible | Conflict | Compatible |
| S | Conflict | Conflict | Compatible | Compatible |
| IS | Conflict | Compatible | Compatible | Compatible |
Conflict:互斥
Compatible:兼容
意向锁仅表示意向,是一种较弱的锁,意向锁之间兼容并行(IS,IX之间兼容并行)。X与IS,IX互斥,S与IX互斥。意向锁是比X/S更弱的锁,存在一种预判的意义。先获取更弱的IS,IX锁,如果获取失败就不必再获取更强S,X锁。
意向
时刻
粒度
数据
场景
级别
线程
缓存
之间
事务
又称
只有
同时
多个
标准
用户
策略
结果
背景
资源
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
科技互联网企业
互联网科技活动banner
互联网品科技
深圳互联网科技公司
青岛互联网科技公司
有马互联网科技
卓越科技(互联网 )
互联网科技上市公司
安控科技rtu产品工业互联网
互联网系的金融科技公司
上海宁丞科技互联网
江阴互联网智能科技产品进口
新兴科技互联网创新大赛颁奖典礼
沐思想互联网科技有限公司
厦门江牛科技互联网
东营紫格互联网科技
如何强化互联网金融科技
广州全民伙伴互联网科技有限公司
颐高云石互联网科技
小牛互联网科技有限公司地址
互联网科技垄断
时间互联网络科技
润盈互联网科技
广州紫鲸互联网科技
深圳国际航运科技和互联网
辽宁互联网新科技
上海科技产业互联网平台
山东大美朱楼互联网科技有限公司
银川新华互联网科技学校是国营吗
科技互联网专业务虚会材料