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

MySQL數據文件的三種修復方法

編輯:MySQL綜合教程

MySQL數據文件由於一些原因,可能被損壞,那麼,如何修復MySQL數據文件就成為了我們需要了解的問題。下面就教您三種修復MySQL數據文件的方法。

當你試圖修復一個被破壞的表的問題時,有三種修復類型。如果你得到一個錯誤信息指出一個臨時文件不能建立,刪除信息所指出的文件並再試一次--這通常是上一次修復操作遺留下來的。

這三種修復MySQL數據文件方法如下所示:

myisamchk --recover --quick /path/to/tblName

myisamchk --recover /path/to/tblName

myisamchk --safe-recover /path/to/tblName

第一種是最快的,用來修復最普通的問題;而最後一種是最慢的,用來修復一些其它方法所不能修復的問題。

檢查和修復MySQL數據文件

如果上面的方法無法修復一個被損壞的表,在你放棄之前,你還可以試試下面這兩個技巧:

如果你懷疑表的索引文件(*.MYI)發生了不可修復的錯誤,甚至是丟失了這個文件,你可以使用數據文件(*.MYD)和數據格式文件(*.frm)重新生成它。首先制作一個數據文件(tblName.MYD)的拷貝。重啟你的MySQL服務並連接到這個服務上,使用下面的命令刪除表的內容:

mysql DELETE FROM tblName;

在刪除表的內容的同時,會建立一個新的索引文件。退出登錄並重新關閉服務,然後用你剛才保存的數據文件(tblName.MYD)覆蓋新的(空)數據文件。最後,使用myisamchk執行標准的修復(上面的第二種方法),根據表的數據的內容和表的格式文件重新生成索引數據。

如果你的表的格式文件(tblName.frm)丟失了或者是發生了不可修復的錯誤,但是你清楚如何使用相應的CREATE TABLE語句來重新生成這張表,你可以重新生成一個新的.frm文件並和你的數據文件和索引文件(如果索引文件有問題,使用上面的方法重建一個新的)一起使用。首先制作一個數據和索引文件的拷貝,然後刪除原來的文件(刪除數據目錄下有關這個表的所有記錄)。

啟動MySQL服務並使用當初的CREATE TABLE文件建立一個新的表。新的.frm文件應該可以正常工作了,但是最好你還是執行一下標准的修復(上面的第二種方法)。

可以使用mysql語句,用 CHECK TABLE $table; //其中$table代表數據表的名字,檢測表是否損壞,如果損壞可以REPAIR TABLE $table 來修復,如果一次不行,可以多修復幾次!

MySQL修改表結構語句介紹

10大常用MySQL命令行

7個常見的MySQL命令行

過索引優化MySQL語句的實例

MySQL用戶權限的取消

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