久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

如何修改mysql的隔離級別

169次閱讀
沒有評論

共計 1562 個字符,預(yù)計需要花費 4 分鐘才能閱讀完成。

這篇文章給大家分享的是有關(guān)如何修改 mysql 的隔離級別的內(nèi)容。丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,一起跟隨丸趣 TV 小編過來看看吧。

修改 mysql 隔離級別的方法:1、找到“skip-external-locking”;2、添加“transaction-isolation = READ-COMMITTED”內(nèi)容;3、重啟 mysql 服務(wù)。

本文操作環(huán)境:Windows7 系統(tǒng)、mysql5.5 版、Dell G3 電腦。

怎么修改 mysql 的隔離級別?

MySQL 的事務(wù)的隔離級別以及修改方式

修改 Mysql 的事務(wù)隔離級別:

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

在位置:

lc-messages-dir = /usr/share/mysql
skip-external-locking

后面添加(讀取提交內(nèi)容):

transaction-isolation = READ-COMMITTED

保存后重啟 mysql 服務(wù):

sudo service mysql restart

SQL 的 4 種隔離級別

Read Uncommitted(讀取未提交內(nèi)容)

在該隔離級別,所有事務(wù)都可以看到其他未提交事務(wù)的執(zhí)行結(jié)果。本隔離級別很少用于實際應(yīng)用,因為它的性能也不比其他級別好多少。讀取未提交的數(shù)據(jù),也被稱之為臟讀(Dirty Read)。

Read Committed(讀取提交內(nèi)容)

這是大多數(shù)數(shù)據(jù)庫系統(tǒng)的默認隔離級別(但不是 MySQL 默認的)。它滿足了隔離的簡單定義:一個事務(wù)只能看見已經(jīng)提交事務(wù)所做的改變。這種隔離級別 也支持所謂的不可重復(fù)讀(Nonrepeatable Read),因為同一事務(wù)的其他實例在該實例處理其間可能會有新的 commit,所以同一 select 可能返回不同結(jié)果。

Repeatable Read(可重讀)(Mysql 默認為此項:REPEATABLE-READ)

這是 MySQL 的默認事務(wù)隔離級別,它確保同一事務(wù)的多個實例在并發(fā)讀取數(shù)據(jù)時,會看到同樣的數(shù)據(jù)行。不過理論上,這會導(dǎo)致另一個棘手的問題:幻讀(Phantom Read)。簡單的說,幻讀指當用戶讀取某一范圍的數(shù)據(jù)行時,另一個事務(wù)又在該范圍內(nèi)插入了新行,當用戶再讀取該范圍的數(shù)據(jù)行時,會發(fā)現(xiàn)有新的“幻影”行。InnoDB 和 Falcon 存儲引擎通過多版本并發(fā)控制(MVCC,Multiversion Concurrency Control)機制解決了該問題。

Serializable(可串行化)

這是最高的隔離級別,它通過強制事務(wù)排序,使之不可能相互沖突,從而解決幻讀問題。簡言之,它是在每個讀的數(shù)據(jù)行上加上共享鎖。在這個級別,可能導(dǎo)致大量的超時現(xiàn)象和鎖競爭。

讀取的是同一個數(shù)據(jù)時, 容易發(fā)生的問題有:

臟讀(Drity Read):某個事務(wù)已更新一份數(shù)據(jù),另一個事務(wù)在此時讀取了同一份數(shù)據(jù),由于某些原因,前一個 RollBack 了操作,則后一個事務(wù)所讀取的數(shù)據(jù)就會是不正確的。

不可重復(fù)讀(Non-repeatable read): 在一個事務(wù)的兩次查詢之中數(shù)據(jù)不一致,這可能是兩次查詢過程中間插入了一個事務(wù)更新的原有的數(shù)據(jù)。

幻讀 (Phantom Read): 在一個事務(wù)的兩次查詢中數(shù)據(jù)筆數(shù)不一致,例如有一個事務(wù)查詢了幾列(Row) 數(shù)據(jù),而另一個事務(wù)卻在此時插入了新的幾列數(shù)據(jù),先前的事務(wù)在接下來的查詢中,就會發(fā)現(xiàn)有幾列數(shù)據(jù)是它先前所沒有的。

# !

django2.X 后, 自主更改框架與 mysql 會話的事務(wù)等級為 READ-COMMITTED(讀取提交內(nèi)容), 如要求級別如此, 則不需要更改.

感謝各位的閱讀!關(guān)于“如何修改 mysql 的隔離級別”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-07-15發(fā)表,共計1562字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 洛宁县| 即墨市| 津市市| 红安县| 乐清市| 涪陵区| 靖边县| 和顺县| 望城县| 郸城县| 沛县| 仙游县| 滦平县| 渭南市| 嵊泗县| 绵阳市| 瓦房店市| 蒲江县| 伊金霍洛旗| 湖口县| 北海市| 石河子市| 铜鼓县| 蒲江县| 巴中市| 合山市| 邻水| 安岳县| 阳谷县| 綦江县| 山东省| 乌苏市| 阿合奇县| 长武县| 竹山县| 兰西县| 买车| 韩城市| 安溪县| 绵阳市| 金湖县|