俗話說常在河邊走哪能不濕鞋呢,mysql用多了也會出現很多莫名其妙的問題
Can’t open file: ‘×××.MYI’ (errno: 145),這個錯誤一般就是你的數據庫表文件損壞造成的,造成的原因大概是你把數據庫文件挪來挪去的結果,當然不排除其他原因啊。
具體數據庫出現錯誤的提示代碼是:
Invalid SQL: ……
MySQL 錯誤!: 1016 (Can’t open file: ‘×××.MYI’ (errno: 145))
解決這個問題有多種方案,如果你的數據庫可以遠程鏈接或者你可以連接到你的遠程服務器桌面,並且你的服務器系統剛好是Windows的,那麼你可以:
運行->cmd
然後:mysql –h 主機地址 –u 用戶名 –p
然後輸入密碼,連接數據庫;
Use 數據庫名稱;
然後 輸入:reapair table 出錯的表名稱,回車,這樣修復一下就可以了,參考圖片如下
第二種方案,假設你只能運行PHP代碼,那麼也很簡單,寫一個php文件,鏈接上數據庫,把這段代碼:
Reapair table `表名`,
像發送 “select * ……”一樣發送給mysql,也是可以的;
第三種方案,可簡單了,打開你的myphpadmin,選中Can’t open file:後面同名的表,有個下拉菜單“選中項”,選擇“修復”如圖:
就ok了。
如果你的數據庫主機就你一個人用,並且你還能控制的話,建議你用Mysql自帶的修復工具myisamchk.exe進行修復,操作如下:
修復前將mysql服務停止。
如果是Win主機,打開命令行方式,然後進入到mysql的/bin目錄。
執行myisamchk -r 的數據庫所在路徑*.MYI
如果是類Unix主機,直接使用myisamchk -r 數據庫目錄*.MYI