程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MYSQL毛病:Can’t open file: ‘×××.MYI’ (errno: 145)修復辦法

MYSQL毛病:Can’t open file: ‘×××.MYI’ (errno: 145)修復辦法

編輯:MySQL綜合教程

MYSQL毛病:Can’t open file: ‘×××.MYI’ (errno: 145)修復辦法。本站提示廣大學習愛好者:(MYSQL毛病:Can’t open file: ‘×××.MYI’ (errno: 145)修復辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是MYSQL毛病:Can’t open file: ‘×××.MYI’ (errno: 145)修復辦法正文


削減此類成績產生的方法就是盡可能削減辦事器無故斷電,封閉辦事器時,最初先手動封閉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 失足的表稱號,回車,如許修復一下便可以了,參考圖片以下:
image002

第二種計劃,假定你只能運轉PHP代碼,那末也很簡略,寫一個php文件,鏈接上數據庫,把這段代碼:
Reapair table `表名`,
像發送 “select * ……”一樣發送給mysql,也是可以的;

第三種計劃,可簡略了,翻開你的myphpadmin,選中Can't open file:前面同名的表,有個下拉菜單“選中項”,選擇“修復”如圖:

image004

就ok了。
假如你的數據庫主機就你一小我用,而且你還能掌握的話,建議你用Mysql自帶的修停工具myisamchk.exe停止修復,操作以下:
修復前將mysql辦事停滯。
假如是Win主機,翻開敕令行方法,然落後入到mysql的/bin目次。
履行myisamchk -r 數據庫地點途徑\*.MYI
假如是類Unix主機,直接應用myisamchk -r 數據庫目次\*.MYI

其它參考:
Mysql有的時刻由於失落電或許其他緣由招致數據庫破壞,錯信息以下:
MySql: Can't open file: 'sdb_sessions.MYI'. (errno: 145)
For more information, see Help and Support Center at
我們可使用mysql自帶的mysqlcheck敕令來疾速修復一切的數據庫或許特定的數據庫;例如
檢討優化並修復一切的數據庫用:
# mysqlcheck -A -o -r -p
Enter password:
guestbook.simpgb_avatars OK
guestbook.simpgb_bad_words OK
guestbook.simpgb_banlist OK
guestbook.simpgb_data OK
......
......
......
mysqlcheck語法/html/Program/Mssql/200711/130.html
修復指定的數據庫用
# mysqlcheck -A -o -r Database_NAME -p
IXDBA.NET社區服裝論壇t.vhao.net
別的假如只是對某個表停止修復可以用:myisamchk或isamchk
個中myisamchk實用於MYISAM類型的數據表,而isamchk實用於ISAM類型的數據表。這兩條敕令的重要參數雷同,普通新的體系都應用MYISAM作為缺省的數據表類型,這裡以myisamchk為例子停止解釋。當發明某個數據表湧現成績時可使用:
myisamchk tablename.MYI
停止檢測,假如須要修復的話,可使用:
myisamchk -of tablename.MYI
關於myisamchk的具體參數解釋,可以拜見它的應用贊助。須要留意的時在停止修正時必需確保MySQL辦事器沒有拜訪這個數據表,保險的情形下是最好在停止檢測時把MySQL辦事器Shutdown失落。
別的可以把上面的敕令放在你的rc.local外面啟動MySQL辦事器前:
[ -x /tmp/mysql.sock ] && /pathtochk/myisamchk -of /DATA_DIR/*/*.MYI
個中的/tmp/mysql.sock是MySQL監聽的Sock文件地位,關於應用RPM裝置的用戶應當是/var/lib/mysql /mysql.sock,關於應用源碼裝置則是/tmp/mysql.sock可以依據本身的現實情形停止變革,而pathtochk則是 myisamchk地點的地位,DATA_DIR是你的MySQL數據庫寄存的地位。

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