真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

mysql元數(shù)據(jù)鎖MetaDatalock

什么是MDL

成都創(chuàng)新互聯(lián)是專業(yè)的巴青網(wǎng)站建設(shè)公司,巴青接單;提供成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè),網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行巴青網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊,希望更多企業(yè)前來合作!

MDL,Meta Data lock,元數(shù)據(jù)鎖,一般稱為字典鎖。字典鎖與數(shù)據(jù)鎖相對應(yīng)。字典鎖是為了保護(hù)數(shù)據(jù)對象被改變,一般是一些DDL會對字典對象改變,如兩個事物,事物1先查詢表,然后事物2試圖alter,其首先需要等待事物1結(jié)束(提交或回滾),此時的狀態(tài)便是Waiting for table metadata lock,然后才能獲得字典鎖。后續(xù)對TableA的任何操作(包括讀)都無法進(jìn)行,也會在Opening tables的階段進(jìn)入Waiting for table metadata lock的隊列。如果是線上業(yè)務(wù)的核心表出現(xiàn)了這樣的鎖等待隊列,就會造成災(zāi)難性的后果。數(shù)據(jù)鎖是保護(hù)表中的數(shù)據(jù),如兩個事物同時更新一行時,先得到row lock的事務(wù)會先執(zhí)行,后者只能等待。

出現(xiàn)的情況:

場景一:

通過show processlist可以看到TableA上有正在進(jìn)行的操作(包括讀),此時alter table語句無法獲取到metadata 獨(dú)占鎖,會進(jìn)行等待。出現(xiàn)Waiting for table metadata lock

場景二:

通過show processlist看不到TableA上有任何操作,但實(shí)際上存在有未提交的事務(wù),可以information_schema.innodb_trx中查看到。在事務(wù)沒有完成之前,TableA上的鎖不會釋放,alter table同樣獲取不到metadata的獨(dú)占鎖。

場景三:

通過show processlist看不到TableA上有任何操作,在information_schema.innodb_trx中也沒有任何進(jìn)行中的事務(wù)。這很可能是因?yàn)樵谝粋€顯式的事務(wù)中,對TableA進(jìn)行了一個失敗的操作(比如查詢了一個不存在的字段),這時事務(wù)沒有開始,但是失敗語句獲取到的鎖依然有效。從performance_schema.events_statements_current表中可以查到失敗的語句。

附件:http://down.51cto.com/data/2368700

網(wǎng)頁標(biāo)題:mysql元數(shù)據(jù)鎖MetaDatalock
轉(zhuǎn)載來源:http://weahome.cn/article/ieijdc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部