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

原文地址:https://www.cnblogs.com/DataArt/p/10281406.html

时间: 2024-10-11 00:19:23

Incorrect key file for table错误解决方法的相关文章

mysql错误(Incorrect key file for table)

Incorrect key file for table 'C:\Windows\TEMP\#sql578_6e2_68d.MYI'; try to repair it mysql错误:mysql需要建立临时文件,建立失败 错误原因:内存不足/无权限

mysql通过sqoop导入到hbase中时数据量为1000w时出现Incorrect key file for table &#39;/tmp/#sql_458_0.MYI&#39;; try to repair it

问题:mysql通过sqoop导入到hbase中时数据量为1000w时出现Incorrect key file for table '/tmp/#sql_458_0.MYI'; try to repair it,数据量为100w等时没该问题 分析:出现该问题时因为mysql的临时目录(默认为/tmp)太小 解决方法:参考:http://blog.sina.com.cn/s/blog_4c197d420101bdn9.html mysql通过sqoop导入到hbase中时数据量为1000w时出现I

Incorrect key file for table &#39;./xx_db/xx_table.MYI&#39;; try to repair it

异常,坏表? 运行程序突然报异常:Incorrect key file for table './xx_db/xx_table.MYI';try to repair it 解决办法: 可以先运行 CHECK TABLE表名检查下是否存在错误. 然后运行 REPAIR TABLE表名进行修复. Incorrect key file for table './xx_db/xx_table.MYI'; try to repair it

MySQL Error Query database. Causejava.sql.SQLException: Incorrect key file for table ‘/tmp/#sql_181c

1,开发人员截图给我,后台报错如下: Error Query database. Causejava.sql.SQLException: Incorrect key file for table '/tmp/#sql_181c_0.MYI'; tryto repair it; 分析,这种,大多数情况是tmp临时表空间不足,所以执行比较复杂的sql或者执行大表关联的时候,需要临时表资源较多,如果临时表资源少的话,就会保错. 2,看看tmp_table_size值 mysql> show varia

Incorrect key file for table &#39;/tmp/#sql_882_0.MYI&#39;; try to repair it

修表方法如下: 一法:. check table 和 repair table 方法1,进入Mysql 的Dos控制台,输入密码进入 2,use database;(你的数据库名) 3, check table tabTest; 如果出现的结果说Status是OK,则不用修复,如果有Error,可以用: > repair table tabTest; 另外一个很可能的原因是临时文件夹空间不足,在进行大数据JOIN,ORDER BY时可能出现,这时需要修改临时文件夹路径 在启动命令中增加tmpdi

mysqld: Incorrect key file for table

错误 140624 0:53:42 [ERROR] /usr/libexec/mysqld: Incorrect key file for table './xx/xxx.MYI'; try to repair it140624 0:53:42 [ERROR] /usr/libexec/mysqld: Incorrect key file for table './xx/xxx.MYI'; try to repair it140624 0:53:42 [ERROR] Got an error f

Incorrect key file for table &#39; &#39;; try to repair it

为有150W的数据表增加字段时,报错 configure tmpdir. Where MySQL Stores Temporary Files Incorrect key file for table ' '; try to repair it

Referenced file contains errors 错误解决方法

Referenced file contains errors (http://www.springframework.org/schema/beans/spring-beans-3.0.xsd). 关于这个错误,导致的原因可能是 一种可能是 之前用的Spring版本,和现在用的不同 对于Eclipse编译器来说,会有个缓存,这样验证的时候他会告诉你版本不统一 Preferences -> General -> Network Connections -> Cache 删除里面的缓存 还

mysql ERROR 126 (HY000): Incorrect key file for table &#39;/tmp/#sql_1d87_0.MYI&#39;; try to repair it

[[email protected] ~]# df -h 查看是否空间不足 在查看mysql数据目录情况 mysql> show variables like '%dir%'; +-----------------------------------------+------------------------------------+ | Variable_name                           | Value                              |