在很多的linux生產(chǎn)服務(wù)器里很多時(shí)候用數(shù)據(jù)庫(kù)是MySQL,在數(shù)據(jù)庫(kù)里算是輕量級(jí)的數(shù)據(jù)庫(kù),但是長(zhǎng)期以來(lái)的使用往往會(huì)出現(xiàn)一些問(wèn)題,一般的狀況是無(wú)法讀取表,此時(shí)我們就要來(lái)修復(fù)表、優(yōu)化表,減小磁盤(pán)使用量,以方便數(shù)據(jù)庫(kù)的備份。
在成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站中從網(wǎng)站色彩、結(jié)構(gòu)布局、欄目設(shè)置、關(guān)鍵詞群組等細(xì)微處著手,突出企業(yè)的產(chǎn)品/服務(wù)/品牌,幫助企業(yè)鎖定精準(zhǔn)用戶,提高在線咨詢和轉(zhuǎn)化,使成都網(wǎng)站營(yíng)銷(xiāo)成為有效果、有回報(bào)的無(wú)錫營(yíng)銷(xiāo)推廣。創(chuàng)新互聯(lián)公司專(zhuān)業(yè)成都網(wǎng)站建設(shè)十年了,客戶滿意度97.8%,歡迎成都創(chuàng)新互聯(lián)客戶聯(lián)系。
在用root用戶進(jìn)入mysql中,進(jìn)入表所在的庫(kù)
REPAIR TABLE `table_name` 修復(fù)表 OPTIMIZE TABLE `table_name` 優(yōu)化表
REPAIR TABLE 的作用是用于修復(fù)表,而OPTIMIZE TABLE 用于回收閑置的數(shù)據(jù)庫(kù)空間,當(dāng)表上的數(shù)據(jù)行被刪除時(shí),所占據(jù)的磁盤(pán)空間并沒(méi)有立即被回收,使用了OPTIMIZE TABLE命令后這些空間將被回收,并且對(duì)磁盤(pán)上的數(shù)據(jù)行進(jìn)行重排。其中OPTIMIZE TABLE在很多時(shí)候不一定要運(yùn)行,只要在批量刪除后,或者做一個(gè)定期,比如一周一次或者一個(gè)月一次這樣對(duì)表進(jìn)行優(yōu)化,以減小表數(shù)據(jù)占據(jù)磁盤(pán)空間。當(dāng)然在修復(fù)的過(guò)程中還要注意mysql表文件table_name.frm的文件屬性,因?yàn)橛械臅r(shí)候在編譯版的mysql沒(méi)有init.d中的啟動(dòng)腳本時(shí),都是用mysql下bin目錄下的mysqld_safe工具啟動(dòng)的,有的時(shí)候如果沒(méi)有指定啟動(dòng)用戶或啟動(dòng)的用戶不是mysql軟件所用的用戶啟動(dòng),mysql的表文件都會(huì)有問(wèn)題,會(huì)出現(xiàn)無(wú)法讀取文件等等一系列的問(wèn)題,如此,在有的時(shí)候我們還要用chown修改mysql表文件的權(quán)限以實(shí)現(xiàn)修復(fù)。