直接copy數據文件的方法,類似於SQL Server裡的附加數據庫文件 1,copy相關的數據庫文件夾到 mydql\data文件夾下[文件夾內只保存的是數據表的結構信息,並沒有數據,所以要進行第二步copy, 此時連接可以看到表名,但是select 不出數據,會報錯] 2.copy數據文件ibdata1到MySQL\data目錄下[ibdata1裡保存的是各個數據庫裡的數據文件]
3.注意:不要直接把整個data文件夾copy過來,只copy需要恢復的數據庫的文件夾和ibdata1文件即可,系統用的數據庫MySQL文件夾不要copy ==================其它數據損壞修復方法
mysql> check table table_name或mysql> repair table table_name 順便把MySQL顯示的錯誤發過來看看! 1.標准的表修復
a.試著用 --recover選項修復表,可以加上 --quick選項試圖只根據索引的內容進行修復,這樣做不觸及數據文件。
% myisamchk --recover --quick table_name
or
% isamchk --recover --quick table_name
b.如果問題還存在,在試一下上一步命令,但是要忽略 --quick選項,這樣允許修改數據文件。
% myisamchk --recover table_name
or
% isamchk --recover table_name
c.如果還不工作,試一下 --safe-recover 修復方法。但這種方法比普通方法要慢,但能修復 --recover不能修復的問題。
% myisamchk --safe-recover table_name
or
% myisamchk --safe-recover table_name
如果在myisamchk or isamchk 由於一個"can't create new temp file:file_name"的錯誤消息在任何一步停止,應該重復該命令並
加入 --force選項強迫清除臨時文件 C:\Documents and Settings\User>cd c:\MySQL\bin
C:\mysql\bin>myisamchk --recover --quick c:\MySQL\data\userdb\reguser
- check key delete-chain
- check record delete-chain
- recovering (with sort) MyISAM-table 'c:\MySQL\data\userdb\reguser'
Data records: 0
- Fixing index 1
- Fixing index 2
大體這麼用