程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 解析:輕松了解 MySQL中損壞的MyISAM表

解析:輕松了解 MySQL中損壞的MyISAM表

編輯:關於MYSQL數據庫

即使MyISAM表格式非常可靠(SQL語句對表做的所有改變在語句返回之前被寫下),如果下列任何事件發生,你依然可以獲得損壞的表:

· MySQLd進程在寫中間被殺掉。

· 發生未預期的計算機關閉(例如,計算機被關閉)。

· 硬件故障。

· 你可以同時在正被服務器修改的表上使用外部程序(如myisamchk)。

· MySQL或MyISAM代碼的軟件缺陷。

一個損壞的表的典型症狀如下:

· 當在從表中選擇數據之時,你得到如下錯誤:

· Incorrect key file for table: '...'. Try to repair it

· 查詢不能在表中找到行或返回不完全的數據。

你可以用CHECK TABLE statement語句來檢查MyISAM表的健康,並用REPAIR TABLE修復一個損壞的MyISAM表。當MySQLd不運行之時,你也可以用myisamchk命令檢查或修理一個表。

如果你的表變得頻繁損壞,你應該試著確定為什麼會這樣的原因。要明白的最重要的事是表變得損壞是不是因為服務器崩潰的結果。你可以在錯誤日志中查找最近的restarted MySQLd消息來早期驗證這個。如果存在這樣一個消息,則表損壞是服務器死掉的一個結果是很有可能的。否則,損壞可能在正常操作中發生。這是一個缺陷。你應該試著創建一個展示這個問題的可重復生成的測試案例。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved