| 代碼 | 訊息 | 常見原因 | 解決方向 |
|---|---|---|---|
| 1005 | Can't create table | 外鍵定義錯誤、引擎不支援 | 檢查 FK 參考欄位型別/索引一致 |
| 1006 | Can't create database | 權限不足、磁碟滿、目錄存在 | 檢查資料目錄權限/空間 |
| 1007 | Database exists | 重複建立 | 先 DROP 或加 IF NOT EXISTS |
| 1008 | Database doesn't exist | 拼寫錯誤、已刪除 | 確認名稱、SHOW DATABASES |
| 1016 | Can't open file | 表損壞、檔案遺失、權限 | myisamchk -r / mysqlcheck -r 修復 |
| 1021 | Disk full | 磁碟空間耗盡 | 清理空間、擴充磁碟、調整 tmpdir |
| 1022 | Duplicate key | 唯一鍵/主鍵衝突 | 檢查資料、IGNORE/REPLACE/ON DUPLICATE KEY |
| 1032 | Record not found | UPDATE/DELETE 無匹配行 | 確認 WHERE 條件、事務隔離級別 |
| 1036 | Table is read only | MyISAM 表鎖定、檔案系統只讀 | UNLOCK TABLES、檢查掛載選項 |
| 1037 | Out of memory | 記憶體不足 | 重啟服務、調小 buffer、升級記憶體 |
| 1038 | Sort memory full | sort_buffer_size 過小 | 調大 sort_buffer_size、優化 ORDER BY |
| 1040 | Too many connections | 達 max_connections | 調大 max_connections、排查連線洩漏 |
| 1042 | Bad host | 主機名解析失敗 | 用 IP、修正 DNS/hosts、skip-name-resolve |
| 1044 | Access denied for user | 權限不足 | GRANT 權限、確認主機名匹配 |
| 1045 | Access denied (password) | 密碼錯誤、plugin 不匹配 | 重置密碼、檢查 authentication_plugin |
# 檢查並修復單表
myisamchk -r /var/lib/mysql/db/tbl.MYI
# 或 SQL 介面 (支援 InnoDB)
mysqlcheck -r -u root -p db_name tbl_name
# 修復整個資料庫
mysqlcheck -r -u root -p db_name
見文章 MySQL root 密碼遺忘重置。
mysqlcheck -A --auto-repair