MySQL的配置文件my.cnf中默認存在一行skip-external-locking的參數(shù),即“跳過外部鎖定”。根據(jù)MySQL開發(fā)網(wǎng)站的官方解釋,External-locking用于多進程條件下為MyISAM數(shù)據(jù)表進行鎖定。
如果你有多臺服務(wù)器使用同一個數(shù)據(jù)庫目錄(不建議),那么每臺服務(wù)器都必須開啟external locking;
參數(shù)解釋
當外部鎖定(external-locking)起作用時,每個進程若要訪問數(shù)據(jù)表,則必須等待之前的進程完成操作并解除鎖定。由于服務(wù)器訪問數(shù)據(jù)表時經(jīng)常需要等待解鎖,因此在單服務(wù)器環(huán)境下external locking會讓MySQL性能下降。所以在很多Linux發(fā)行版的源中,MySQL配置文件中默認使用了skip-external-locking來避免external locking。
當使用了skip-external-locking后,為了使用MyISAMChk檢查數(shù)據(jù)庫或者修復(fù)、優(yōu)化表,你必須保證在此過程中MySQL服務(wù)器沒有使用需要操作的表。如果沒有停止服務(wù)器,也至少需要先運行
命令,否則數(shù)據(jù)表可能出現(xiàn)異常。
參數(shù)使用說明
如果是多服務(wù)器環(huán)境,希望打開external locking特征,則注釋掉這一行即可
注意事項
在老版本的MySQL中,此參數(shù)的寫法為:
如果在新版本MySQL配置中依然使用此寫法,則可能出現(xiàn):
[Warning] ‘–skip-locking' is deprecated and will be removed in a future release. Please use ‘–skip-external-locking' instead.
錯誤。
新聞熱點
疑難解答
圖片精選