MySQL 锁

embedded/2025/3/18 23:03:52/

MySQL中最常见的锁有全局锁、表锁、行锁。


全局锁

全局锁用于锁住当前库中的所有实例,也就是说会将所有的表都锁住。一般用于做数据库备份的时候就需要添加全局锁,数据库备份的时候是一个表一个表备份,如果没有加锁的话在备份的时候会有其他的事务进行提交,从而造成数据不一致,加锁后能保证在备份的时候不会有其他事务提交数据。


如何添加一个全局锁呢?

通过以下命令添加一个全局锁

#设置全局锁
flush tables with read lock;

执行增删改操作,会发现当前锁冲突,无法操作

insert into user (username, password, phone) 
values ('Jack', '$2a$10$6ptTq3V9XfaJmFYwYT2W9ud377BUkEWk.whf.iQ.0sX5F.L497rAC', '12345678901');


执行读取操作

#读取userselect *from user;


可以发现,添加全局锁后,整个数据库都变成了只读状态,操作完别忘记释放全局锁。

#释放全局锁
unlock tables;

表级锁

表级锁可细分为表锁、元数据锁、意向锁

  • 表锁:表锁有读锁和写锁,读锁当前客户端可读不可写(报错),其他客户端可读不可写(阻塞,直到释放锁)。写锁只有当前客户端可读可写,其他客户端不可读不可写        
  • 元数据锁:元数据锁分为读锁和写锁,读锁之间是共享的,即多个事务之间能同时读取数据,而写锁是排他的,主要为了防止在写的过程中数据结构发生改变,写锁同一时间只能被一个事务获取
  • 意向锁:意向锁的主要目的是减少行锁和表锁之间的冲突。意向锁能够快速判断是否发生锁冲突从而无需逐行检查每一行数据。意向锁可细分为共享锁和排他锁,共享锁之间是兼容的多个事务可以同时拥有,而排他锁是互斥的只能有一个事务持有
    SELECTobject_schema,object_name,index_name,lock_type,lock_mode,lock_data
    FROMperformance_schema.data_locks;


http://www.ppmy.cn/embedded/173699.html

相关文章

选择最佳加密软件:IPguard vs Ping32——企业级安全方案评估

在当前数字化快速发展的背景下,企业信息的安全性变得尤为重要。为了有效保护企业的核心数据和知识产权,选择合适的加密软件成为众多企业关注的焦点。本文将对两款市场上广受好评的加密软件——Ping32与IPguard进行详细对比分析,旨在帮助企业根…

解决从deepseek接口获取的流式响应输出到前端都是undefined的问题

你的前端 EventSource 代码遇到了 undefined 连续输出 的问题,通常是因为: AI 返回的内容被拆成了单个字符,导致前端 JSON.parse(event.data).content 获取到的是单个字符,而 undefined 可能是因为某些数据块没有 content 字段。…

Flutter 按钮组件 ElevatedButton 详解

目录 1. 引言 2. ElevatedButton 的基本用法 3. 主要属性 4. 自定义按钮样式 4.1 修改背景颜色和文本颜色 4.2 修改按钮形状和边框 4.3 修改按钮大小 4.4 阴影控制 4.5 水波纹效果 5. 结论 相关推荐 1. 引言 在 Flutter 中,ElevatedButton 是一个常用的…

低空经济腾飞:无人机送货、空中通勤,未来已来

近年来,低空经济逐渐成为社会关注的焦点。从无人机送货到“空中的士”,再到飞行培训的火热进行,低空经济正迎来前所未有的发展机遇。随着技术进步和政策支持,这一曾经看似遥远的未来场景,正逐步变为现实。 低空经济如何…

音视频处理的“瑞士军刀”与“积木”:FFmpeg 与 GStreamer 的深度揭秘

一、发展历史与生态演进对比 FFmpeg的成长轨迹 诞生背景:2000年由Fabrice Bellard创建,最初为解决视频编码标准化问题而生。早期版本仅支持MPEG-1编码,但凭借开源社区协作,迅速扩展为全格式编解码工具。技术扩张:2004年…

【RHCE实验】搭建主从DNS、WEB等服务器

目录 需求 环境搭建 配置nfs服务器 配置web服务器 配置主从dns服务器 主dns服务器 从dns服务器 配置客户端 客户端测试 需求 客户端通过访问 www.nihao.com 后,能够通过 dns 域名解析,访问到 nginx 服务中由 nfs 共享的首页文件,内容…

Vue中涉及的字符串模板与dom模板

Dom模板(或者称为Html模板)(非字符串的模板) 实际上,Dom 模板就是写在 html 文件中,一打开就会被浏览器进行解析渲染的,所以要遵循 html 结构和标签的命名,否则浏览器不解析也就不能获取内容了。 好了,今天的文章分享…

了解一下HTTP的短连接和长连接

在 HTTP 协议中,连接的方式主要分为长连接和短连接。这两种连接方式的主要区别在于连接的生命周期和数据传输的效率。理解它们的差异对于优化 Web 应用的性能和资源利用至关重要。以下是 HTTP 长连接和短连接的详细解释。 1. 短连接(HTTP/1.0&#xff0…