Incorrect key file for table錯誤解決方法


問題現象:

 

alter table portal_app_xxxx_xxx add devno varchar(64) NOT NULL DEFAULT '' COMMENT '設備機編',add serialno varchar(64) NOT
NULL DEFAULT '' COMMENT '綁定流程流水號',Error_code: 1034

 MySQL error code 1034 (ER_NOT_KEYFILE): Incorrect key file for table 'XXXXXX'; try to repair it

 

查找解決方法:

在網上查找了一下,發現大多的解決辦法都是repair,然后再進行myisam進行檢查及恢復;

但是發現這個方法只適用於存儲引擎為MyISAM的表,於是繼續猜測着查找方法。

使用repair table時,直接報Innodb表不支持repair方法。

 

猜測解決方法:

由於是對39GB大表進行alter操作,猜想一定會耗用不用臨時表,於是檢查從庫的臨時空間為/tmp,僅為總內存的一半,16GB,所以導致了臨時表空間不夠用,再alter過程中失敗了,所以導致修改表結構失敗,最終導致主從復制失敗。

 

此次的解決方法:

(1) 增加/tmp目錄空間;

(2) 修改mysql數據庫的tmp目錄,把tmp對應的目錄遷移到空間更大的地方,然后重啟動數據庫。

 

| innodb_tmpdir | /data/mysql/mysql3306/data/inno_tmp_dir |  <- 該參數指定alter行為的tmp目錄。
| tmpdir | /data/mysql/mysql3306/tmp

 

 

 

 

 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM