1. 程式人生 > >Incorrect key file for table錯誤解決方法

Incorrect key file for table錯誤解決方法

錯誤解決 但是 流程 目錄遷移 修改表 tmp目錄 err 進行 網上

問題現象:

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



Incorrect key file for table錯誤解決方法