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

 

 

 

 

 



posted @   海东潮  阅读(3953)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示