【MySQL】innodb_lock_wait_timeout=120,是干什么的?底层原理是什么?

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 【MySQL】innodb_lock_wait_timeout=120,是干什么的?底层原理是什么?

innodb_lock_wait_timeout是MySQL中InnoDB存储引擎参数之一,用于设置事务在等待获取锁的超时时间,单位为秒。当事务需要在一个锁被占用的资源上等待时,如果等待时间超过了该参数所设定的值,系统就会返回一个超时错误,告知事务锁等待超时。

在MySQL中,锁是用来保证并发执行事务时数据的一致性和完整性。在InnoDB中,有两种锁,一种是共享锁(Shared Lock),一种是排他锁(Exclusive Lock)。共享锁是用于读操作的,可以同时被多个事务获取;而排他锁是用于写操作的,同一时间只能被一个事务获取。

当多个事务需要同时获取同一个资源上的排他锁时,如果一个事务已经持有该锁,则其它事务必须等待该锁被释放后才能获取该锁。如果等待时间过长,可能会导致系统出现性能问题。因此,设置适当的innodb_lock_wait_timeout参数值可以防止事务在等待锁时过度占用系统资源。

底层原理是,当一个事务需要在某个资源上获取锁时,InnoDB会检查该锁是否已经被其它事务所持有。如果锁已被占用,则该事务会进入等待状态,直到该锁被释放。如果等待时间超过了innodb_lock_wait_timeout所设定的值,则该事务会被强制终止并返回一个超时错误。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
存储 关系型数据库 MySQL
MySQL InnoDB数据存储结构
MySQL InnoDB数据存储结构
|
1月前
|
存储 缓存 关系型数据库
MySQL的varchar水真的太深了——InnoDB记录存储结构
varchar(M) 能存多少个字符,为什么提示最大16383?innodb怎么知道varchar真正有多长?记录为NULL,innodb如何处理?某个列数据占用的字节数非常多怎么办?影响每行实际可用空间的因素有哪些?本篇围绕innodb默认行格式dynamic来说说原理。
835 6
MySQL的varchar水真的太深了——InnoDB记录存储结构
|
2月前
|
存储 关系型数据库 MySQL
深入理解MySQL索引:从原理到最佳实践
深入理解MySQL索引:从原理到最佳实践
206 0
|
2月前
|
存储 缓存 关系型数据库
MySQL - 存储引擎MyISAM和Innodb
MySQL - 存储引擎MyISAM和Innodb
|
16天前
|
存储 关系型数据库 MySQL
MySQL引擎对决:深入解析MyISAM和InnoDB的区别
MySQL引擎对决:深入解析MyISAM和InnoDB的区别
31 0
|
1月前
|
存储 SQL 关系型数据库
[MySQL]事务原理之redo log,undo log
[MySQL]事务原理之redo log,undo log
|
2月前
|
存储 SQL 关系型数据库
MySQL事务底层原理和MVCC机制
MySQL事务底层原理和MVCC机制
38 1
|
2月前
|
SQL 存储 关系型数据库
MySQL索引原理以及SQL优化
MySQL索引原理以及SQL优化
66 0
|
2月前
|
存储 SQL 关系型数据库
MySQL - 深入理解 MySQL 的 MVCC 及实现原理
MySQL - 深入理解 MySQL 的 MVCC 及实现原理
191 0
|
2月前
|
存储 SQL 关系型数据库
Mysql专栏 - mysql、innodb存储引擎、binlog的工作流程
Mysql专栏 - mysql、innodb存储引擎、binlog的工作流程
80 0