mysql中的全局鎖是什么

這篇文章主要講解了“MySQL中的全局鎖是什么”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“mysql中的全局鎖是什么”吧!

我們提供的服務(wù)有:成都網(wǎng)站建設(shè)、成都做網(wǎng)站、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、港南ssl等。為數(shù)千家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢(xún)和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的港南網(wǎng)站制作公司

1、全局鎖就是對(duì)整個(gè)數(shù)據(jù)庫(kù)實(shí)例加鎖。

2、MySQL提供了一個(gè)加全局讀鎖的方法,命令是Flush tables with read lock。當(dāng)整個(gè)數(shù)據(jù)庫(kù)需要只讀時(shí),可以使用這個(gè)命令。

然后其他線(xiàn)程的以下句子會(huì)被堵塞:數(shù)據(jù)更新句子(數(shù)據(jù)增刪)、數(shù)據(jù)定義句子(包括建表、修改表結(jié)構(gòu)等。)和更新事務(wù)的提交句子。

典型的全局鎖使用場(chǎng)景是做全庫(kù)邏輯備份。也就是說(shuō),整個(gè)庫(kù)的每個(gè)表都被select存儲(chǔ)成文本。

但讓整個(gè)庫(kù)只讀,可能會(huì)出現(xiàn)以下問(wèn)題:

如果在主庫(kù)備份,備份期間不能更新,業(yè)務(wù)基本停止。

若從庫(kù)備份,則在備份期間無(wú)法執(zhí)行主庫(kù)同步的binlog,則會(huì)導(dǎo)致主從延遲。

打開(kāi)可重復(fù)讀隔離級(jí)別的事務(wù)可以獲得一致性視圖。

mysqldump是官方的邏輯備份工具。當(dāng)mysqldump使用參數(shù)-single-transaction時(shí),將在導(dǎo)數(shù)據(jù)之前啟動(dòng)事務(wù),以確保獲得一致性視圖。由于MVCC的支持,數(shù)據(jù)可以在這個(gè)過(guò)程中正常更新。single-transaction僅適用于所有表使用事務(wù)引擎的庫(kù)。

既然要全庫(kù)只讀,為什么不用setglobalreadonly=true?

在一些系統(tǒng)中,readonly的值將被用作其他邏輯,例如,它用于判斷一個(gè)庫(kù)是主庫(kù)還是備庫(kù)。因此,修改global變量的方法有更大的影響。

異常處理機(jī)制存在差異。如果在執(zhí)行Flushtableswithreadlock命令后,由于客戶(hù)端異常斷開(kāi),MySQL會(huì)自動(dòng)釋放整個(gè)鎖,整個(gè)庫(kù)會(huì)回到正常更新的狀態(tài)。在將整個(gè)庫(kù)設(shè)置為readonly,如果客戶(hù)端出現(xiàn)異常,數(shù)據(jù)庫(kù)將始終保持readonly狀態(tài),這將導(dǎo)致整個(gè)庫(kù)長(zhǎng)期處于不可寫(xiě)狀態(tài),風(fēng)險(xiǎn)更高。

感謝各位的閱讀,以上就是“mysql中的全局鎖是什么”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)mysql中的全局鎖是什么這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

新聞標(biāo)題:mysql中的全局鎖是什么
鏈接分享:http://muchs.cn/article28/johcjp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、Google軟件開(kāi)發(fā)、網(wǎng)站排名、小程序開(kāi)發(fā)、手機(jī)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站