修復表是因為數據庫丟失或損壞了,我們可以通過mysql自帶的命令或一些工具進行修復從而使用表可以正常使用了,下文小編為各位介紹一些解決辦法.
打開phpmyadmin選擇數據庫查看,果然有3個表顯示為“使用中”,勾選之后進行“修復表”,出現錯誤提示不能被修復.
于是接著從“分析表”、“優化表”開始,均告失敗,失敗信息第一條:can't create new temp file.
1.表損壞的原因分析
以下原因是導致mysql 表毀壞的常見原因:
1、服務器突然斷電導致數據文件損壞。
2、強制關機,沒有先關閉mysql 服務。
3、mysqld 進程在寫表時被殺掉。
4、使用myisamchk 的同時,mysqld 也在操作表。
5、磁盤故障。
6、服務器死機。
7、mysql 本身的bug 。
2.表損壞的癥狀
一個損壞的表的典型癥狀如下:
1、當在從表中選擇數據之時,你得到如下錯誤:
Incorrect key file for table: '...'. Try to repair it
2、查詢不能在表中找到行或返回不完全的數據。
3、Error: Table 'p' is marked as crashed and should be repaired 。
4、打開表失敗:Can't open file: ‘×××.MYI'(errno:145).
google解決方案:強制修復 myisamchk -r -f ****.MYI,問題依舊
方法一:重啟動mysql,簡單,一般會有效.
方法二:運行SQL語句,登陸phpmyadmin,運行如下語句,多數可以決絕.
- CHECK TABLE `table1`;
- ANALYZE TABLE `table1`;
- REPAIR TABLE `table1`;
方法三:登陸phpmyadmin,首頁有個“狀態”標簽,點擊進去服務器選項卡下有個殺死進程的.
方法四:使用linux命令解決Mysql數據表一直顯示使用中,以lampp服務器集成包為例,數據庫顯示“使用中”,操作命令如下:
- /opt/lampp/lampp stopmysql
- cd /opt/lampp/var/mysql/
- /opt/lampp/bin/myisamchk -f miningplants/wp_options.MYI(數據庫名、數據表名)
- /opt/lampp/lampp startmysql
新聞熱點
疑難解答