mysql中元数据锁mdl

MySQL中的元数据锁(MDL)从5.5版本开始引入,用于保证DDL和DML操作一致性。本文介绍了MDL的基础知识,包括文档链接、锁的子系统、类型、持续期间和状态,并分享了如何在实际操作中重现MDL问题、监控及处理方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mysql中元数据锁mdl

一、简介

前段时间项目中遇到了元数据锁问题,导致查询出问题。这里对元数据锁进行初步介绍。

二、元数据锁mdl知识

元数据锁是5.5版本引进入,用于保证ddl(data definition language, 数据定义语言,用于表等操作)和dml(data manipulation language,数据操纵语言,用于数据操作)操作的一致性。若两事务同时进行ddl和dml操作,便会出现错误。

2.1 mdl文档官网地址

https://dev.mysql.com/doc/refman/8.0/en/metadata-locks-table.html

2.2 mdl锁

mdl锁是加在server(engine-server)上,区别与engine。可以在表performance_schema.metadata_locks 中查看锁的各种信息。列举部分如下:

2.2.1 mdl锁加在的子系统(OBJECT_TYPE)

GLOBAL, SCHEMA, TABLE, FUNCTION, PROCEDURE, TRIGGER (currently unused), EVENT, COMMIT, USER LEVEL LOCK, TABLESPACE, or LO

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值