您的位置:首页 > 互联网

华为云MySQL新增MDL锁视图特性,快速定位元数据锁问题

发布时间:2020-02-11 12:45:49  来源:互联网     背景:

  MDL锁(Metadata Lock),即元数据锁。元数据指的是描述数据的数据,对数据及信息资源的描述性信息,在数据库中元数据即数据字典信息,包括db,table,function,procedure,trigger,event等。

  MySQL从 5.5版本开始引入MDL锁,MDL锁主要为了保证元数据的一致性(主要是保证DDL操作与DML操作之间的一致性),用于处理不同线程操作同一元数据对象的同步与互斥问题,在各个业务场景中会十分频繁地使用到。

  具体而言,MySQL引入MDL锁可以解决如下问题:一是事务隔离问题,比如在可重复读隔离级别下,会话A在2次查询期间,会话B对表结构做了修改,2次查询结果就会不一致,无法满足可重复读的要求。二是数据复制问题,比如会话A执行了多条更新语句期间,另外一个会话B做了表结构变更并且先提交,就会导致slave在重做时,先重做alter,再重做update时就会出现复制错误的现象。

  何为MDL锁视图?

  社区版MySQL无法获取表MDL锁的详细信息,当客户遇到类似“Waiting for metadata lock”的问题而阻塞DML或DDL后,由于无法确定各session之间的关联,往往无从下手,复杂情况下,只能重启实例,从而增加解决问题的成本,对业务产生较大影响。而且在业务场景较复杂的情况下,一旦涉及对数据库元数据的互斥操作(如DDL、LOCK Table等),此类问题便会频繁发生,给一线运维和客户带来很大的困扰。

  针对以上痛点,华为云数据库MySQL在充分调研内核的基础上,推出了MDL锁视图特性,可以清晰查看数据库各session持有和等待的元数据锁信息,方便现网运维进行问题定位,有效进行系统诊断,帮助客户更好地优化自身业务。

  MDL锁视图以系统表的形式呈现,该表位于INFORMATION_SCHEMA,表名:METADATA_LOCK_INFO,表结构如下:

  MDL锁视图主要由7个字段组成,各字段详情为:

  • THREAD_ID:session的ID,即会话ID

  • LOCK_STATUS:MDL锁的状态,主要分为PENDING和GRANTED两种,分别表示session正在等待该MDL锁和session已获得该MDL锁

  • LOCK_MODE:加锁的模式,如MDL_SHARED 、MDL_EXCLUSIVE 、MDL_SHARED_READ、MDL_SHARED_WRITE等

  • LOCK_TYPE:MDL锁的类型,如Table metadata lock、Schema metadata lock、Global read lock、Tablespace lock等

  • LOCK_DURATION:MDL锁的范围,有三种取值:MDL_STATEMENT、MDL_TRANSACTION、MDL_EXPLICIT,分别表示语句级别、事务级别、global级别

  • TABLE_SCHEMA:数据库名,对于部分global级别的MDL锁,该值为空

  • TABLE_NAME:表名,对于部分global级别的MDL锁,该值为空

  MDL锁视图好在哪?

  下面通过两则案例来对MDL锁视图进行进一步的说明。

  场景一:长时间未提交事务,阻塞DDL,继而阻塞所有同表的操作

  客户发现表t2的truncate一直被阻塞后,业务流程中对表t2的select操作也全部被阻塞。DDL被阻塞后,客户立刻执行show processlist:

  但是通过processlist信息,只能看到session 4执行truncate操作时被其他session持有的table metadata lock阻塞,session 5执行select操作时也同样被阻塞,无法确定哪个session阻塞了session 4和session 5。此时,如果盲目的去kill其他session(2或3)会给线上业务带来很大风险,因此只能等待其他session释放该MDL锁。

  而当客户引入MDL锁视图后,执行SELECT * FROM INFORMATION_SCHEMA.METADATA_LOCK_INFO:

  结合show processlist的结果,从元数据锁视图中可以明显看出,session 4 pending在表t2的metadata lock,session 3持有表t2的metadata lock,该MDL锁为事务级别,只要session 3的事务不提交,session 4便会一直阻塞。因此,客户只需要在session 3中执行commit或kill session 3,便可以让业务继续运行。

  场景二:长时间持有MDL锁,导致全备失败

  客户实例最近几次全备均失败,但是业务表现似乎正常,而且最近系统业务量不高,未出现明显问题。运维团队发现全备被阻塞后,立刻show processlist,发现有多个活跃的用户session:

  全备是基于xtrabackup,在执行真正的备份之前需要执行lock tables for backup,但从show processlist中只能看到:lock tables for backup时一直被某个MDL锁阻塞,全备超时失败;客户的多个session业务量很小,都处于sleep状态,于是客户继续执行show open tables where in_use >=1:

  发现有个表t1始终处于in use状态,所以猜测是用户某个session持有了该表t1的MDL锁未释放,导致lock tables for backup等待超时。但是结合show processlist仍然无法确定是哪个session持有表t1的MDL锁,想让全备执行成功,只能通知客户逐一断连session或者重启实例。

  引入MDL锁视图后,客户执行SELECT * FROM INFORMATION_SCHEMA.METADATA_LOCK_INFO:

华为云MySQL新增MDL锁视图特性,快速定位元数据锁问题

  结合show processlist的结果,从元数据锁视图中可以明显看出,session 4 pending在全局backup lock上;session 2持有全局的backup lock,该MDL锁类型为MDL_EXPLICIT,global级别。因此,客户只需要在session 2显式调用unlock tables释放锁或者kill session 2即可让业务继续运行。

  通过以上两个案例,MDL锁视图的重要性不言而喻,它可以让客户和一线运维人员清晰地查看数据库各session持有和等待的元数据锁信息,从而找出数据库MDL锁等待的根因,准确地进行下一步决策,有效降低对业务的影响。

  欲了解更多详情,敬请前往华为云官网:产品——基础服务——数据库——云数据库MySQL。

华为云MySQL新增MDL锁视图特性,快速定位元数据锁问题

xbox series s和pc

返回网站首页

宝沃bx7动力

斑马智行车载系统更新

chrome插件被阻止

开启公测!华为云国内首发云证书管理服务
旷视手机影像白皮书:3D人脸识别将成最重要的手机AI应用之一

妻子的浪漫旅行第三季爱奇艺

小米华为是国产手机吗


返回网站首页

本文评论
国家邮政局:1-11月快递业务量累计完成1002.1亿件_国家邮政局快递业务量数据
12月21日 消息:国家邮政局公布数据称,1-11月,邮政行业寄递业务量累计完成1263.1亿件,同比增长3.1%。其中,快递业务量累计完成1002.1亿件,同比增长2.2%;邮政寄递服务业务量累计完...
日期:12-21
WICC 2021 技术分论坛  “开箱即用”语聊房Demo成亮点
  7月24日,第三届全球互联网通信云大会(WICC 2021)在北京成功召开,数千开发者共赴通信云技术盛宴。本次会议中,“开发者服务生态”被作为重要议题引起了全产业链的广泛关注...
日期:08-27
搜狗浏览器WebKit内核创新 支持下载工具调用_搜狗浏览器开发者工具
  日前,上网最快的搜狗高速浏览器(http://ie.sogou.com)重装升级,成为首家全面支持在WebKit内核下直接调用迅雷、快车等下载软件的浏览器。作为第一款同时采用WebKit和IE内核...
日期:07-29
超级买手直播间创抖音电商历史纪录,单场直播成交额3.08亿_抖音直播成交粉丝占比
  1月21日,苏宁易购、抖音电商双端数据显示,超级买手直播间在腊八节专场直播中再次打破抖音电商成交额纪录,直播数据最终定格在3.08亿,累计观看人数超2000万,苏宁易购网...
日期:04-03
AMD B650 系列主板 10 月上市_b250主板什么时候上市的
IT之家 8 月 30 日消息,在今天的 AMD 发布会上,AMD 宣布旗舰的 X670 系列主板将随锐龙 7000 处理器在 9 月上市,10 月份,性价比更高的 B650 系列也将上市,而且还包括一款B650E “...
日期:09-27
腾讯向多闪发布禁令 用户如想使用微信头像需经腾讯同意
  3月19日晚,多闪发布弹窗建议用户将与微信/QQ一致的头像或昵称进行修改。多闪称,此举是因腾讯公司要求用户的微信/QQ账户信息包括头像与昵称的权益属于腾讯公司。为保证用...
日期:01-01
天猫在重庆搞了个大事件!38女王节  刷爆票圈的重庆又火了!
     38女王节,刷爆票圈的网红城市重庆又双叒叕火了!今年天猫38女王节,天猫携手众多优秀品牌在重庆这个充满活力又多面的城市,打造了5场线下女性错位极致体验活动。菜...
日期:09-12
twitter空降_拉登死讯促Twitter消息达到每秒4000条
  北京时间5月3日凌晨消息,在基地组织首脑奥萨马-本-拉登(Osama bin Laden)的死讯于上周日晚间传出以后,Twitter用户在高峰时期发出的消息高达每秒钟4000条,创下Twitter历史...
日期:07-27
上海街头现外来物种鳄龟:攻击性强 在我国没天敌「鳄龟入侵物种 泛滥」
11月27日,据媒体报道,近日,上海奉贤的单先生花了5000多元,从路边摊贩手中买下了两只大乌龟准备放生。谁知回家在网上查询后,发现这两只乌龟属于外来物种鳄龟,既不适合饲养更不适合...
日期:11-29
特斯拉美国自动驾驶测试「特斯拉完全自动驾驶测试版现已向北美所有车主开放」
11月25日消息:马斯克在推特上宣布,特斯拉全自动驾驶测试版(Full Self-Driving Beta)现已面向所有北美付费车主推出。中国互联网覆盖率最高特斯拉于2020年开始测试FSD Beta,自那...
日期:11-28
华为云TaurusDB性能挑战赛火热报名中,全民拉新集结令
  6月起,华为云TaurusDB性能挑战赛携50万奖金火热开启,吸引众多用户围观。据了解TaurusDB是华为云自主研发的最新一代云原生分布式数据库,完全兼容mysql8.0,采用计算与存储分...
日期:08-06
安卓系统可以用facebook吗「Facebook App将取代Android的WebView 但不会使用Custom Tabs」
当你在其他应用程序中打开一个链接时,它通常会在你的浏览器(如Chrome)或Custom Tabs中启动。Facebook选择在其自己的应用内浏览器中打开网页,该浏览器由Android系统WebView提供...
日期:10-06
最新数据:2GB内存及以上手机占比为84.6%_手机内存6GB
12月28日消息 根据中国信通院发布的《国内手机产品交互载体特性监测报告( 2022年第三期)》,统计分析,2022 年第三季度我国上市的手机中 RAM 内存容量为 2GB 及以上的款型占比为...
日期:12-28
A.O.史密斯苏宁独家新品425超品日首发_苏宁易购史密斯
  4月22日,A.O.史密斯发布了包括电热水器、燃气热水器、净水机和甲醛净化器在内的四款新品。   据了解,四款新品均由A.O.史密斯为苏宁专项定制,将在4月25日苏宁易购与A.O....
日期:08-22
ipad pro2020 11寸屏幕「新11英寸iPad Pro即将发布 屏幕素质阉割」
中关村在线消息:近日有消息称,苹果即将推出一款全新的11英寸iPad Pro机型,但并没有采用12.9英寸iPad Pro所采用的的全新mini-LED显示屏,而是与上代相同的一块LED视网膜屏幕。有...
日期:10-21
虚幻5引擎打造:《传奇》开发商公布全新MMORPG端游「虚幻五引擎开发」
今天,知名网游《传奇》的开发商,韩国游戏公司娱美德(Wemade)公布了新作《Night Crows》的首支预告。据悉,《Night Crows》为一款MMORPG,游戏采用虚幻5引擎打造,并将在G-STAR2022展...
日期:11-24
宝马数字钥匙「宝马数字车钥匙将适配华为小米等国产手机」
中关村在线消息:近日,知名汽车品牌宝马宣布自2022年11月起,BMW数字钥匙适用范围将包含华为、荣耀、小米、vivo、OPPO、苹果品牌,覆盖安卓、iOS两大平台。国际电信联盟组织据了解...
日期:10-06
消息称苹果计划在更多iPhone应用程序中投放广告_苹果的广告策略
据报道,苹果公司可能会将广告投放扩大到iPhone上的更多第一方应用程序中,以增加收入。该报道称,该公司目前的广告业务年收入约为40亿美元,但希望将该细分市场增长到“百亿级别”...
日期:08-16
非诚勿扰百合专场_百合佳缘集团携“智推女生”亮相《非诚勿扰》十周年改版
  今天,非诚勿扰播出十周年了!作为一档生活服务类节目,非诚勿扰缔造了无数浪漫的邂逅,成就了许多美好的姻缘。就在今天,百合佳缘集团与非诚勿扰一起发布最新海报,并在全新改...
日期:03-19
“网页视频”木马兴起 360独创“浏览器入沙”拦截
  视频领域一向是木马病毒的温床,此前多数木马主要靠伪装知名播放器传播,在用户安装播放器的过程中感染电脑。然而随着近期快播漏洞公开,一类“网页视频”木马开始悄然出现,...
日期:07-22