【从删库到跑路】MySQL数据库 | 全局锁 | 表级锁 | 行级锁

news2024/11/18 4:35:32

文章目录

  • 🌹简述
  • 🎄全局锁
    • ⭐数据备份
      • 🎈设置全局锁
      • 🎈对表进行备份
      • 🎈释放锁
  • 🎄表级锁
    • 🛸表锁
      • ⭐读锁
      • ⭐写锁
    • 🛸元数据锁
    • 🛸意向锁
      • ⭐意向共享锁
      • ⭐意向排他锁
  • 🎄行级锁
    • 🛸行锁
    • 🛸间隙锁&临键锁
  • 🍔小结

在这里插入图片描述

在 MySQL 中,锁是用于控制对数据的并发访问的机制。使用锁可以确保在多个用户同时访问相同数据时不会发生数据不一致或冲突的情况。MySQL 提供了多种类型的锁,以支持不同的并发访问场景。

以下是 MySQL 中常见的锁类型:

共享锁(Shared Lock):多个事务可以同时持有共享锁,并且不会互相阻塞。适用于读取操作,可以防止其他事务对数据进行写操作,但允许其他事务同时持有共享锁。

排他锁(Exclusive Lock):排他锁是一种独占锁,一个事务持有排他锁时,其他事务无法再持有任何类型的锁。适用于写入操作,可以防止其他事务对数据进行读取或写入操作。

行级锁(Row Lock):行级锁是针对表中的单行记录进行的锁定。MySQL 使用行级锁来实现并发控制,例如在事务中更新或删除某行数据时可以对该行加排他锁,阻止其他事务对该行进行修改。

表级锁(Table Lock):表级锁是针对整个表进行的锁定,会影响到整个表的并发访问。一般情况下,尽量避免使用表级锁,因为它会降低系统的并发性能。

除了以上常见的锁类型外,MySQL 还提供了其他类型的锁和锁机制,如意向锁、间隙锁等,用于支持不同的并发控制需求。

在实际开发中,了解不同类型的锁及其特性,合理地选择和使用锁对于确保数据的一致性和并发性能是非常重要的。同时,需要注意避免出现死锁等并发访问的常见问题。

🌹简述

MySQL中的锁是用于控制并发访问和操作数据库的机制。锁的存在可以确保多个用户或进程在同时操作数据库时不会产生冲突或数据不一致的问题。MySQL支持不同级别的锁,包括表级锁和行级锁。

🎄全局锁

就说对整个数据库实例加锁,加锁后整个实例就处于只读状态,后续的DML语句,DDL语句,已经更新操作的事务提交语句都将被阻塞
可以查询,但是不能写

⭐数据备份

🎈设置全局锁

flush tables with read lock;

在这里插入图片描述
在这里插入图片描述

🎈对表进行备份

在这里插入代码片

注意
在这里插入图片描述

执行语句后,发现会报错
这是因为mysqldump是MySQL提供的工具,我们不应该在MySQL的命令行里面执行,我们应该在Windows的命令行里面执行


在这里插入图片描述
我们进入路径,发现备份成功了
在这里插入图片描述

🎈释放锁

unlock tables;

在这里插入图片描述

🎄表级锁

表级锁,每次操作锁住整张表,锁定粒度大,发生锁冲突的概率最高,并发度最低

🛸表锁

表锁是数据库中一种常见的锁机制,它可以保护整张表免受并发操作的影响。当一个事务请求对某个表进行修改时,数据库管理系统会获取一个表级锁,将该表标记为“正在修改”。这样,其他事务就无法同时进行与该表相关的操作,直到持有锁的事务释放锁为止。

⭐读锁

在数据库系统中,读锁通常应用于表或行级别。当事务需要读取某个表或行时,它会请求共享锁。如果该表或行没有被其他事务以排他方式锁定,那么事务将获得该资源的读锁,并且其他事务可以继续读取该资源,但不能写入。如果有一个或多个事务已经以排他方式锁定了该表或行,那么请求共享锁的事务将被阻塞,直到其他事务释放了锁。

⭐写锁

在数据库系统中,写锁通常应用于表或行级别。当事务需要对某个资源进行写操作时,它会请求排他锁。如果该资源没有被其他事务以共享方式锁定或排他方式锁定,那么事务将获得该资源的写锁,并且其他事务无法读取或写入该资源。如果有其他事务以共享方式锁定了该资源,或者已经有事务以排他方式锁定了该资源,那么请求排他锁的事务将被阻塞,直到其他事务释放了锁。


请添加图片描述

加了读锁,可以读,但是不能写,其他客户端如果写,会处于阻塞状态,直到本地客户端释放锁为止
加了写锁,本地客户端可以读写但是其他客户端不能读,不能写

读锁不会阻塞其他客户端的读,但是会阻塞写
写锁机会阻塞其他客户端的读,又会阻塞其他客户端的写

🛸元数据锁

元数据锁 加锁过程是系统自动控制的,无需显式使用,在访问一张表的时候会自动加上
元数据锁的主要作用是维护表元数据的数据一致性,在表上有活动事务的时候,不可以对元数据锁进行写入操作
为了避免DML与DDL冲突,保证读写的准确性
请添加图片描述
在这里插入图片描述
直到commit为止
在这里插入图片描述

🛸意向锁

意向锁(Intention Lock)是在数据库中用于保护行级锁和表级锁之间的一种锁机制。它不直接作用于数据,而是作用于锁的层次结构,可以协调行级锁和表级锁之间的关系,从而提高并发访问效率。

⭐意向共享锁

与表锁共享锁(read)兼容,与表锁排他锁(write)互斥

⭐意向排他锁

与表锁共享锁(read)及排他锁(write)都互斥,意向锁之间不会互斥

查看意向锁,行锁的加锁情况
select object_schema,object_name,index_name,lock_type,lock_mode,lock_data from performance_schema.data_locks;

在这里插入图片描述

🎄行级锁

行级锁,每次操作锁住对应的行数据。锁定粒度最小,发生锁冲突的概率最低,并发度最高,应用在InnoDB存储引擎中

🛸行锁

锁定单个行记录的锁,防止其他事务对此进行update和delete。在RC,RR隔离级别下都支持
请添加图片描述

在这里插入图片描述

🛸间隙锁&临键锁

锁定索引记录间隙(不含该记录),确保索引记录间隙不变,防止其他事务在这个间隙进行insert,产生幻读。在RR隔离级别下都支持
防止多个并发事务出现幻读![请添加图片描述](https://img-blog.csdnimg.cn/abfaed7061ee4a57af28137363f37360.jpeg)
请添加图片描述
但是当左侧客户端执行commit操作后,数据id=7可以进行插入

🍔小结

请添加图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1211099.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

某头部通信企业:SDLC+模糊测试,保障数实融合安全发展

某头部通信企业是全球领先的综合通信信息解决方案提供商,为全球电信运营商、政企客户和消费者提供创新的技术与产品解决方案。该企业持续关注核心技术攻关,深入打造系列化标杆项目和价值场景,加强数字化平台的推广应用,加快共建开…

蓝桥杯每日一题2023.11.15

题目描述 此处的快速排序有一个思想:以一个数x来判定这l至r区间的数的大小,如果a[l]小于x就与右侧的a[r]交换,最后x可以将这个区间的数进行一分为二。填空出就是已经将x移动到左部分和右部分之间,来确定二分的一个界点 答案&…

大模型在数据分析场景下的能力评测|进阶篇

做数据分析,什么大模型比较合适? 如何调优大模型,来更好地做数据计算和洞察分析? 如何降低整体成本,同时保障分析体验?10月25日,我们发布了数据分析场景下的大模型能力评测框架(点击…

NovelD: A Simple yet Effective Exploration Criterion论文笔记

NovelD:一种简单而有效的探索准则 1、Motivation 针对稀疏奖励环境下的智能体探索问题,许多工作中采用各种内在奖励(Intrinsic Reward)设计来指导困难探索环境中的探索 ,例如: ICM:基于前向动力学模型的好奇心驱动探索RND&…

外贸客户管理系统是什么?推荐的管理软件?

外贸客户管理系统哪个好用?海洋建站如何选管理系统? 外贸客户管理系统,是一款专为外贸企业设计的客户关系管理系统,旨在帮助外贸企业建立与维护客户关系,提高客户满意度和忠诚度,提升企业业绩。海洋建站将…

机器学习-搜索技术:从技术发展到应用实战的全面指南

在本文中,我们全面探讨了人工智能中搜索技术的发展,从基础算法如DFS和BFS,到高级搜索技术如CSP和优化问题的解决方案,进而探索了机器学习与搜索的融合,最后展望了未来的趋势和挑战,提供了对AI搜索技术深刻的…

属兔人连续两年不顺,运势低迷要化解

属兔人为人生性浪漫,有着美好憧憬, 与人相处的时候总是谦和待人,不会随便发脾气, 也不喜欢与人发生争执,不善于算计别人。 对于自己的另一半,是一个很温暖的人,为人细腻,并且懂得体谅…

ping: www.baidu.com: Name or service not known解决办法

解决服务器无法ping通外网问题 1、问题描述: 配置了网卡信息,发现还是无法访问外网,并报ping: www.baidu.com: Name or service not known信息 2、问题原因: 这就是外网没开通好 3、解决方法: 修改网卡文件&#xff…

KODExplorer中ace.js代码编辑器中自定义PHP提示片段

目录 KODExplorerace.js参考 KODExplorer 这是搭建云盘工具,该工具可以作为在线开发工具使用,其中使用了ace.js作为编辑器,这里主要讲解ace.js编辑器中如何自定义代码提示下载旧版本,再升级到新版本,直接下载新版本没…

【华为OD题库-022】阿里巴巴找黄金宝箱(IV)-java

题目 一贫如洗的椎夫阿里巴巴在去砍柴的路上,无意中发现了强盗集团的藏宝地,藏宝地有编号从0-N的子,每个箱子上面有一个数字,箱子排列成一个环,编号最大的箱子的下一个是编号为0的箱子。请输出每个箱子贴的数字之后的第…

wx小程序web-view uniapp H5

最近微信小程序对有视频播放的审核严,需要提供“文娱类资质”。而申请这个资质比较繁琐。所以我们在小程序上用web-view做跳转到H5,这是小程序关于web-view文档说明https://developers.weixin.qq.com/miniprogram/dev/component/web-view.html 开发前配…

软件性能测试学习笔记(LoadRunner):从零开始

文章目录 概述LoadRunner的使用创建编辑脚本(Virtual User Generator)集合点思考时间事务检查点关联参数化 运行负载测试(Controller) 性能测试报告场景设置表格测试指标记录表 其他的杂谈内容 概述 软件的性能测试与软件的功能测…

荧光量子效率积分球的优势是什么

荧光量子效率积分球是一种测量设备,可以用于测量荧光材料在特定波长下的量子效率。它由一个具有高朗伯特性的漫反射PTFE材料制成,具有高达99%的反射率和朗伯特性。积分球有三个开口,分别为光入射口、样品口和光出射口。光入射口设置有一准直镜…

2023年【电工(高级)】考试报名及电工(高级)考试试卷

题库来源:安全生产模拟考试一点通公众号小程序 2023年【电工(高级)】考试报名及电工(高级)考试试卷,包含电工(高级)考试报名答案和解析及电工(高级)考试试卷…

Linux 读写权限的配置

文章目录 Linux文件权限详解 一、文件权限二、修改文件访问权限的方法三、UMASK值四、三种特殊权限suid、sgid、sticky(sticky权限工作环境中相对常用)五、ACL访问控制列表六、文件权限操作的常用命令 Linux文件权限详解 Linux系统中不仅是对用户与组根…

锐捷 Smartweb管理系统命令注入漏洞复现 [附POC]

文章目录 锐捷 Smartweb管理系统命令注入漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 锐捷 Smartweb管理系统命令注入漏洞复现 [附POC] 0x01 前言 免责声明:请勿利用文章内的相关技术从事非法测…

学生台灯护眼灯需要多少W?小学生合适的五款护眼台灯推荐

台灯如何选择,随着人们生活水平的提高及科技的不断进步,台灯的品质也得到了极大的提高,在生活中很多时候都需要使用台灯,但是市面上的台灯那么多,台灯如何选择。学生护眼台灯选择多少瓦比较好呢?选择12w-20…

一文搞懂Transformer

近期Transformer系列模型的出现,增加了CV领域的多样性。但是Transformer这一不同领域的模型对学习者来说需要一个细致的学习过程.下面就是本菜鸟总结学习路线。 Transformer是基于attention机制。而attention机制又在Encoder、Decode中。本篇博客将从Attention->…

洗内裤的小洗衣机买啥牌子的?口碑好的迷你洗衣机推荐

迷你洗衣机是一种小型的家用洗衣设备,主要是由于其小巧便携而且实用性高的特点,非常适用于小户型家庭、单身人士、学生宿舍等场所,如今随着迷你洗衣机在市场上越来越受到消费者的青睐。那么,迷你洗衣机哪个牌子好用又不贵呢&#…

RabbitMQ-高级篇-黑马程序员

代码: 链接: https://pan.baidu.com/s/1nQBIgB_SbzoKu_XMWZ3JoA?pwdaeoe 提取码:aeoe 在昨天的练习作业中,我们改造了余额支付功能,在支付成功后利用RabbitMQ通知交易服务,更新业务订单状态为已支付。 但…