程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> DEDE中MYSQL修復方法

DEDE中MYSQL修復方法

編輯:關於MYSQL數據庫

最近一直在搞DEDE環境問題,配置數據庫的時候老是出現這樣那樣的問題,最後索性直接把本機上 的MySQL文件直接COPY到服務器的數據庫中,然後浏覽,嘿,其他大部分的問題都已經解決了,但是還是有一個問題沒有解決。

老是提示

MySQL 返回:

#1034 - Incorrect key file for table 'dede_arctype'; try to repair it

很明顯,提示是說數據表被破壞了,需要修復才能好,簡單的用兩條修復語句就OK了,下面就是具體的操作方法:

在DEDE的後台SQL操作中直接輸入

repair table tablename;

REPAIR TABLE mytable USE_FRM;

================================================================================

如果直接在MySQL中操作用一下方法

用”repair table”方式修復
語法:repair table 表名 [選項] QUICK 用在數據表還沒被修改的情況下,速度最快
EXTENDED 試圖去恢復每個數據行,會產生一些垃圾數據行,萬般無奈的情況下用
USE_FRM 用在.MYI文件丟失或者頭部受到破壞的情況下。利用.frm的定義來重建索引

多數情況下,簡單得用”repair table tablename”不加選項就可以搞定問題。但是當.MYI文件丟失或者頭部受到破壞時,這樣的方式不管用,例如:

MySQL> REPAIR TABLE mytable; | Table | Op | Msg_type | Msg_text | | sports_results.mytable | repair | error | Can’t find file: ‘mytable.MYI’ (errno: 2) |
+————————-+——–+———-+———————————————+修復失敗的原因時索引文件丟失或者其頭部遭到了破壞,為了利用相關定義文件來修復,需要用USE_FRM選項。例如:

MySQL> REPAIR TABLE mytable USE_FRM; | Table | Op | Msg_type | Msg_text | | sports_results.mytable | repair | warning | Number of rows changed from 0 to 2 |
| sports_results.mytable | repair | status | OK |
+————————-+——–+———-+————————————+我們可以看到Msg_test表項的輸出信息”ok”,表名已經成功修復受損表。

-
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved