程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> MySQL性能參數詳解之Skip-External-Locking參數介紹

MySQL性能參數詳解之Skip-External-Locking參數介紹

編輯:關於MYSQL數據庫

MySQL的配置文件my.cnf中默認存在一行skip-external-locking的參數,即“跳過外部鎖定”。根據MySQL開發網站的官方解釋,External-locking用於多進程條件下為MyISAM數據表進行鎖定。
如果你有多台服務器使用同一個數據庫目錄(不建議),那麼每台服務器都必須開啟external locking;
 
參數解釋

當外部鎖定(external-locking)起作用時,每個進程若要訪問數據表,則必須等待之前的進程完成操作並解除鎖定。由於服務器訪問數據表時經常需要等待解鎖,因此在單服務器環境下external locking會讓MySQL性能下降。所以在很多Linux發行版的源中,MySQL配置文件中默認使用了skip-external-locking來避免external locking。
當使用了skip-external-locking後,為了使用MyISAMChk檢查數據庫或者修復、優化表,你必須保證在此過程中MySQL服務器沒有使用需要操作的表。如果沒有停止服務器,也至少需要先運行

復制代碼 代碼如下:
mysqladmin flush-tables

命令,否則數據表可能出現異常。
 
參數使用說明
如果是多服務器環境,希望打開external locking特征,則注釋掉這一行即可
復制代碼 代碼如下:
# skip-external-locking

如果是單服務器環境,則將其禁用即可,使用如下語句

復制代碼 代碼如下:
skip-external-locking

注意事項
在老版本的MySQL中,此參數的寫法為:

復制代碼 代碼如下:
skip-locking

如果在新版本MySQL配置中依然使用此寫法,則可能出現:
[Warning] ‘–skip-locking' is deprecated and will be removed in a future release. Please use ‘–skip-external-locking' instead.
錯誤。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved