由于操作人員大量的刪除了relationship表的數(shù)據(jù)達2千萬行,但是mysql并不自動回收空間,所以決定做碎片整理(先測試):
成都創(chuàng)新互聯(lián)公司是專業(yè)的張家界網(wǎng)站建設(shè)公司,張家界接單;提供網(wǎng)站制作、成都網(wǎng)站制作,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行張家界網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!myisamchk -r relationship
我是在mysql運行下做的,結(jié)果做完后查詢的時候出現(xiàn)下面的問題:
ERROR 1030 (00000): Got error 127 from table handler
這個問題很郁悶,應(yīng)該不會出現(xiàn)問題的呀,后來查閱資料發(fā)現(xiàn)了問題(/tupian/20230522/pp如果你用--skip-locking運行mysqld(它在一些系統(tǒng)上是缺省的,如Linux),當(dāng)
mysqld正在使用同一個表時,你不能可靠地使用myisamchk檢查一張表。如果你能
肯定在你運行myisamchk時沒有人通過mysqld正在存取表,在你開始檢查表之前,
你僅需做mysqladmin flush-tables。如果你不能保證, 那么當(dāng)你檢查表時,你必
須停掉mysqld。如果你在mysqld正在更新表時運行myisamchk,你可能得到一個表
已破壞的警告,即使它沒有。
如果你沒使用--skip-locking,你能在任何時間使用myisamchk檢查表。當(dāng)你這樣
時,所有試圖更新表的客戶在繼續(xù)前將等到myisamchk就緒。
如果你使用myisamchk修復(fù)或優(yōu)化表,你必須總是保證mysqld服務(wù)器不在使用表(如
果你正在使用--skip-locking,這也適用)。如果你不停掉mysqld,在你運行
myisamchk前,你至少應(yīng)該做一個mysqladmin flush-tables。
而我的數(shù)據(jù)庫恰好在linux下,并且是skip-locking啟動的,就出現(xiàn)了這個問題!
1)這個命令也可以停止mysql后再做,就不會出現(xiàn)這個問題
2)也可以在線做后重啟數(shù)據(jù)庫
3)也可以先運行mysqladmin flush-tables后再執(zhí)行這個命令,也不會出現(xiàn)這個問題!
[@more@]