国产欧美日韩第一页|日本一二三不卡视频|在线精品小视频,亚洲第一免费播放区,metcn人体亚洲一区,亚洲精品午夜视频

如何修復損壞的MySQL數據表

2016-07-28 16:24:12 7321

你可能在使用MySQL過(guò)程中,各種意外導致數據庫表的損壞,而且這些數據往往是最新的數據,通常不可能在備份數據中找到。下面就就和大家分享一下修復損壞的MySQL數據表
有兩種方法,一種方法使用mysql的check table和repair table 的sql語(yǔ)句,另一種方法是使用MySQL提供的多個(gè)myisamchk, isamchk數據檢測恢復工具。前者使用起來(lái)比較簡(jiǎn)便。推薦使用。
1. check table 和 repair table
登陸mysql 終端:

>mysql -uxxxxx -p dbname
>check table tabTest;
如果出現的結果說(shuō)Status是OK,則不用修復,如果有Error,可以用:
>repair table tabTest;
進(jìn)行修復,修復之后可以在用check table命令來(lái)進(jìn)行檢查。在新版本的phpMyAdmin里面也可以使用check/repair的功能。

2. myisamchk, isamchk
其中myisamchk適用于MYISAM類(lèi)型的數據表,而isamchk適用于ISAM類(lèi)型的數據表。這兩條命令的主要參數相同,一般新的系統都使用MYISAM作為缺省的數據表類(lèi)型,這里以myisamchk為例子進(jìn)行說(shuō)明。當發(fā)現某個(gè)數據表出現問(wèn)題時(shí)可以使用:
myisamchk tablename.MYI
進(jìn)行檢測,如果需要修復的話(huà),可以使用:
myisamchk -of tablename.MYI
關(guān)于myisamchk的詳細參數說(shuō)明,可以參見(jiàn)它的使用幫助。需要注意的時(shí)在進(jìn)行修改時(shí)必須確保MySQL服務(wù)器沒(méi)有訪(fǎng)問(wèn)這個(gè)數據表,保險的情況下是最好在進(jìn)行檢測時(shí)把MySQL服務(wù)器Shutdown掉。

另外可以把下面的命令放在你的rc.local里面啟動(dòng)MySQL服務(wù)器前:
[ -x /tmp/mysql.sock ] && /pathtochk/myisamchk -of /DATA_DIR/*/*.MYI
其中的/tmp/mysql.sock是MySQL監聽(tīng)的Sock文件位置,對于使用RPM安裝的用戶(hù)應該是/var/lib/mysql/mysql.sock,對于使用源碼安裝則是/tmp/mysql.sock可以根據自己的實(shí)際情況進(jìn)行變更,而pathtochk則是myisamchk所在的位置,DATA_DIR是你的MySQL數據庫存放的位置。
需要注意的時(shí),如果你打算把這條命令放在你的rc.local里面,必須確認在執行這條指令時(shí)MySQL服務(wù)器必須沒(méi)有啟動(dòng)!檢測修復所有數據庫(表)


提交成功!非常感謝您的反饋,我們會(huì )繼續努力做到更好!

這條文檔是否有幫助解決問(wèn)題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進(jìn)一步的反饋信息:

在文檔使用中是否遇到以下問(wèn)題:
-->