從2013年5月25日 星期六開始記錄:
時間:2013年5月25日 星期六
1.MySQL too many connections
解決方法:1)重啓服務器(當然這不是最好的方法,但確實我是這麼幹的...)
2013年5月29日 星期三
2.MySQL
mysqldump Got error : 145 : Table '.aaa\bbb' is marked as crashed and should be repaired when using LOCK TABLES
備份數據庫的時候出現這個錯誤,備份不了。
解決方法:1)修復提示需要修復的表
進入MySQL Command Line Client
輸入密碼,然後進入表所在的數據庫,如下
mysql > use aaa; // 進入aaa數據庫
mysql > check tables bbb; // 對該bbb表進行檢測
然後會顯示該表的一些信息,類似以下這樣:
+-----------+-------+----------+----------------------------------------------------------+
| Table | Op | Msg_type | Msg_text |
+-----------+-------+----------+----------------------------------------------------------+
| aaa.bbb | check | warning | Table is marked as crashed |
| aaa.bbb | check | warning | 3 clients are using or haven't closed the table properly |
| aaa.bbb | check | error | Checksum for key: 2 doesn't match checksum for records |
| aaa.bbb | check | error | Corrupt |
+-----------+-------+----------+----------------------------------------------------------+
4 rows in set (13.75 sec)
然後執行修復命令,如下:
mysql > repair table bbb; // 對bbb表執行修復命令
再次檢測一次bbb表:
mysql > check tables bbb; // 對該bbb表進行檢測
會顯示類似下面的信息:
+-----------+-------+----------+----------+
| Table | Op | Msg_type | Msg_text |
+-----------+-------+----------+----------+
| aaa.bbb | check | status | OK |
+-----------+-------+----------+----------+
1 row in set (1.76 sec)
說明該表已經恢復了,這回可以繼續對數據庫進行備份了。
感謝 果凍的撥殼 的文章助我解決問題。
3.MySQL
mysqldump : Got error : 1017 : Can't find file : 'tblA' (errno:2) when using LOCK TABLES
錯誤編號:1017
問題分析:服務器非法關機,導致該文件損壞,一般是索引損壞
解決辦法:1)
備份現在的庫,再複製現在的庫到一個新庫,在新庫裏 delete from (損壞的表假定爲A);
這個操作會生成一個空的索引A.MYI,複製這個MYI文件到壞的庫中。
登陸mysql庫,執行repair table A;執行analyze table A;2)由於我其他的數據庫裏也有同名同結構的表的 frm 和 MYI 文件 ,於是乎我就把其他數據庫中同名同結構的表的 MYI 文件直接COPY 然後 Ctrl + V 到缺文件的那個數據庫中了,執行查詢,真的直接可以用~(在這裏建議大家一定要做好備份啊,前車之鑑啊!)