當 MyISAM 表損壞導致 phpMyAdmin 無法開啟表結構頁面,介面上的「修復表」按鈕自然也點不到。此時可直接構造 SQL 執行 URL,繞過介面限制強制執行修復。
正常修復連結格式:
https://localhost/phpmyadmin/sql.php?
lang=zh-gb2312&
server=1&
db=資料庫名&
table=資料表名&
goto=tbl_properties_Operations.php&
back=tbl_properties_Operations.php&
sql_query=REPAIR+TABLE+%60資料表名%60
db= 替換為目標資料庫名,table= 替換為損壞的表名Table is already up to date 或 OK 即修復成功.MYD) 損壞、InnoDB 引擎、硬體故障導致的資料遺失若 URL 方式失效,可在 Shell 執行:
# 僅修復索引(快速)
myisamchk -r -q /var/lib/mysql/db_name/table_name
# 完整修復(重建索引、清理已刪除記錄)
myisamchk -r /var/lib/mysql/db_name/table_name
# 安全模式修復(處理嚴重損壞,較慢)
myisamchk --safe-recover /var/lib/mysql/db_name/table_name
CHECK TABLE 掃描潛在問題mysqld 進程構造 REPAIR TABLE URL 是 phpMyAdmin 使用者的急救神技,能解決大多數 MyISAM 表無法開啟的修復需求。但根本之道在於引擎選型與備份機制,將風險降至最低。