tbl_name.frm:表定義tbl_name.MYD:數據文件tbl_name.MYI:索引文件數據/索引文件最易損壞。常見原因:mysqld 寫入中被殺、斷電、硬件故障。
.MYD 建立臨時文件.MYD,重命名新文件--quick:不動 .MYD,只重建 .MYI,自動檢測數據損壞則放棄--quick --quick:嘗試修改 .MYD 修復(如重複鍵),磁盤空間極小時使用,操作前必備份| 級別 | 命令 | 適用場景 |
|---|---|---|
| 常規檢查 | myisamchk tbl_namemyisamchk -s tbl_name(靜默) | 日常巡檢,發現 99.99% 錯誤 |
| 深度檢查 | myisamchk -e tbl_name(extend) | 逐鍵驗證行指針,大表耗時長,-v 顯示前 20 錯誤 |
| 標準修復 | myisamchk -r tbl_name(recover) | 重建索引,修復數據 |
| 快速修復 | myisamchk -r -q tbl_name | 僅重建索引,假設數據完好 |
| 強力修復 | myisamchk -r -q -q tbl_name | 極度缺磁盤空間,嘗試修復數據錯誤 |
FLUSH TABLES WITH READ LOCK).frm/.MYD/.MYI 三文件myisamchk -r tbl_namemyisamchk -r -q tbl_namemyisamchk -r -q -q tbl_name(前提已備份)CHECK TABLE / myisamchk -s 巡檢