萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> Mysql數據表一直顯示使用中的修復方法

Mysql數據表一直顯示使用中的修復方法

修復表是因為數據庫丟失或損壞了,我們可以通過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

copyright © 萬盛學電腦網 all rights reserved