標籤:ar 使用 sp 檔案 資料 div on bs ad
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伺服器沒有使用需要操作的表。如果沒有停止伺服器,也至少需要先運行
1 |
mysqladmin flush-tables |
命令,否則資料表可能出現異常。
參數使用說明
如果是多伺服器環境,希望開啟external locking特徵,則注釋掉這一行即可
1 |
# skip-external-locking |
如果是單伺服器環境,則將其禁用即可,使用如下語句
注意事項
在老版本的MySQL中,此參數的寫法為:
如果在新版本MySQL配置中依然使用此寫法,則可能出現:
[Warning] ‘–skip-locking’ is deprecated and will be removed in a future release. Please use ‘–skip-external-locking’ instead.
Skip-External-Locking – MySQL績效參數詳解