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