数据库中锁的概念以及实际场景遇到的问题和解决的办法

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 数据库中锁的概念以及实际场景遇到的问题和解决的办法

在数据库中,锁是一种用于管理并发访问的机制,用于保证数据的一致性和完整性。

根据锁的范围划分,包括以下几种:

表级锁(Table-level Lock):锁定整张表,其他事务无法同时修改表中的数据。

行级锁(Row-level Lock):只锁定特定行,其他事务可以并发地修改其他行。

页级锁(Page-level Lock):锁定表的一页数据,包含多行,适用于部分表级锁和部分行级锁的场景。

 

根据锁的权限性质划分,包括以下几种:

共享锁(Shared Lock):

共享锁允许多个事务同时获取锁并读取数据,但阻止其他事务获取排他锁(写锁),因此多个事务可以并发地读取同一数据。共享锁适用于读取操作,确保读取的数据是一致的,但不允许并发写入。

排他锁(Exclusive Lock):

排他锁阻止其他事务获取共享锁或排他锁,因此只有一个事务能够获取排他锁并修改数据。排他锁适用于写入操作,用于保证数据的完整性和一致性,防止并发写入导致数据不一致。


实际业务场景中,对锁的感知最多的就是数据库客户端做查询等待很久,或者做插入更新删除的时候直接报错;其次就是程序日志中报了如下的错误。

### Cause: com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction; Lock wait timeout exceeded; try restarting transaction; nested exception is com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction

上面的异常会报到具体的数据库层的操作位置。通常的处理方式就是如果是查询等待较久的,看看超时设置是否合理;如果是直接报错的,就排查出来具体是哪里锁住了,然后删除掉锁即可

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
SQL 存储 关系型数据库
【MySQL 数据库】11、学习 MySQL 中的【锁】
【MySQL 数据库】11、学习 MySQL 中的【锁】
76 0
|
2月前
|
存储 机器学习/深度学习 关系型数据库
向量数据库的崛起与多元化场景创新
向量数据库的崛起与多元化场景创新
79 0
|
3月前
|
存储 关系型数据库 MySQL
由浅入深:数据库编程概念与实战
由浅入深:数据库编程概念与实战
152 1
|
3月前
|
存储 SQL Cloud Native
深入了解云原生数据库CockroachDB的概念与实践
作为一种全球领先的分布式SQL数据库,CockroachDB以其高可用性、强一致性和灵活性等特点备受关注。本文将深入探讨CockroachDB的概念、设计思想以及实践应用,并结合实例演示其在云原生环境下的优越表现。
|
1月前
|
供应链 数据库 开发者
深入了解数据库锁:类型、应用和最佳实践
深入了解数据库锁:类型、应用和最佳实践
|
1月前
|
存储 关系型数据库 MySQL
最全MySQL面试60题(含答案):存储引擎+数据库锁+索引+SQL优化等
最全MySQL面试60题(含答案):存储引擎+数据库锁+索引+SQL优化等
179 0
|
1月前
|
Oracle 关系型数据库 数据库
Oracle数据库基本概念理解(3)
Oracle数据库基本概念理解(3)
18 2
|
2月前
|
SQL 存储 关系型数据库
sql数据库的相关概念与底层介绍
sql数据库的相关概念与底层介绍
45 0
|
1月前
|
Oracle 关系型数据库 数据库
Oracle数据库基本概念理解(2)
Oracle数据库基本概念理解(2)
13 1
|
12天前
|
SQL 算法 数据库
数据库系统概念(第三周 第一二堂总结)
数据库系统概念(第三周 第一二堂总结)

热门文章

最新文章