建立表維護計劃 |
發(fā)布時間: 2012/8/31 17:28:37 |
定期對表進行檢查而非等到問題出現(xiàn)后再檢查數(shù)據(jù)庫表是一個好主意。檢查和修復(fù)MyISAM表的一個方式是使用CHECK TABLE和REPAIR TABLE語句。參見13.5.2.3節(jié),“CHECK TABLE語法”和13.5.2.6節(jié),“REPAIR TABLE語法”。 檢查表的另一個方法是使用myisamchk。為維護目的,可以使用myisamchk -s檢查表。-s選項(簡稱--silent)使myisamchk以沉默模式運行,只有當(dāng)錯誤出現(xiàn)時才打印消息。 電腦維護www.boydavid.com 在服務(wù)器啟動時檢查表是一個好主意。例如,無論何時機器在更新當(dāng)中重新啟動了,你通常需要檢查所有可能受影響的表。(即“預(yù)期的破壞了的表”)。要想自動檢查MyISAM表,用--myisam-recover選項啟動服務(wù)器。 一個更好的測試將是檢查最后修改時間比“.pid”文件新的表。 電腦知識www.boydavid.com 你還應(yīng)該在正常系統(tǒng)操作期間定期檢查表。在MySQL AB,我們運行一個cron任務(wù),每周一次檢查所有重要的表,使用“crontab”文件中這樣的行: 計算機愛好者www.boydavid.com 35 0 * * 0 /path/to/myisamchk --fast --silent /path/to/datadir/*/*.MYI
可以打印損壞的表的信息,以便我們在需要時能夠檢驗并且修復(fù)它們。 多年了我們還沒有發(fā)現(xiàn)(的確是真的)都沒有任何意外損壞的表時(由于除硬件故障外的其它原因造成損壞的表),每周一次對我們是足夠了。 計算機學(xué)習(xí)網(wǎng)站www.boydavid.com 我們建議現(xiàn)在開始,你對所有最后24小時內(nèi)被更新了的表每晚都執(zhí)行myisamchk -s,直到你變得象我們那樣信任MySQL。 一般情況,MySQL表很少需要維護。如果你用動態(tài)大小的行更改MyISAM表(含VARCHAR、BLOB或TEXT列的表)或有刪除了許多行的表,你可能想要不時地(每月一次)整理/組合表的空間。 可以對有問題的表執(zhí)行OPTIMIZE TABLE來優(yōu)化;蛘呤,如果可以停一會mysqld服務(wù)器,進入數(shù)據(jù)目錄,當(dāng)服務(wù)器停止時使用該命令:
shell> myisamchk -r -s --sort-index -O sort_buffer_size=16M */*.MYI 本文出自:億恩科技【mszdt.com】 服務(wù)器租用/服務(wù)器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |