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

相关文章
相关标签/搜索