我在RHEL5上使用MySQL 5.0.67,並將我的配置基於my-huge.cnf。MySQL - my.cnf中的skip-locking是做什麼的?
我在MySQL手冊中找不到配置文件中出現的行'skip-locking'。
這應該替換爲'skip_external_locking'還是應該完全刪除該行,因爲這是默認值。
MySQL Manual for skip-external-locking
感謝。
我在RHEL5上使用MySQL 5.0.67,並將我的配置基於my-huge.cnf。MySQL - my.cnf中的skip-locking是做什麼的?
我在MySQL手冊中找不到配置文件中出現的行'skip-locking'。
這應該替換爲'skip_external_locking'還是應該完全刪除該行,因爲這是默認值。
MySQL Manual for skip-external-locking
感謝。
看到http://dev.mysql.com/doc/refman/5.0/en/external-locking.html
報價:
如果您運行使用同一數據庫目錄(不推薦)多臺服務器,每臺服務器都必須啓用外部鎖定。
它確實只是與訪問相同數據的多個進程提供的危險有關。在許多DBMS情況下,您希望在執行操作之前鎖定表格/行,然後再解鎖。這是爲了防止可能的數據損壞。
編輯:見http://dev.mysql.com/doc/refman/4.1/en/news-4-0-3.html 報價
改名--skip-鎖定到--skip-外部鎖定。
的人附加的註釋誰不遵循@Jonathan Fingland提供的鏈接:
8.7.4. External Locking
此選項僅適用於MyISAM表。
正如Richard所示,默認情況下外部鎖定是禁用的。如果您使用myisamchk
進行寫操作,或者使用myisampack
打包表,則需要啓用外部鎖定。
從文檔:
如果你使用myisamchk上的MyISAM 表執行表維護操作,則必須確保服務器沒有運行,或者 服務器已經啓用外部鎖定,這樣它會根據需要鎖定表文件 以與myisamchk協調訪問表。 使用myisampack打包MyISAM表格也是如此。
如果您使用myisamchk進行寫操作(如修復或 優化表),或者如果使用myisampack來打包表,則必須始終確保mysqld服務器不使用該表。如果你不停止mysqld,你至少應該在運行myisamchk之前執行mysqladmin flush-tables 。如果 服務器和myisamchk同時訪問表,您的表可能會損壞。
謝謝 - 但那是skip_external_locking - 我想知道'skip-locking'是否是相同的東西,如果在配置文件中是必要的,因爲它已經是默認的? – Richard 2009-06-03 09:08:46