Incorrect key file for table錯誤解決方法

問題現象:mysql

 

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

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

 

查找解決方法:數據庫

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

可是發現這個方法只適用於存儲引擎爲MyISAM的表,因而繼續猜想着查找方法。code

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

 

猜想解決方法:it

因爲是對39GB大表進行alter操做,猜測必定會耗用不用臨時表,因而檢查從庫的臨時空間爲/tmp,僅爲總內存的一半,16GB,因此致使了臨時表空間不夠用,再alter過程當中失敗了,因此致使修改表結構失敗,最終致使主從複製失敗。innodb

 

這次的解決方法:table

(1) 增長/tmp目錄空間;file

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

 

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

相關文章
相關標籤/搜索