您的位置:首页 > 数据库 > MySQL

MySql Incorrect key file for table *** 解决方法

2016-03-15 23:42 851 查看
用的好好的Mysql,突然有一天跟你跳出一句:

Incorrect key file for table '/tmp/#sql_7375_0.MYI'; try to repair it...


是不是很蛋疼?!!下面来干掉这个问题:

问题原因:通常是因为磁盘空间不足。检查mysql 临时文件目录,通常为 /tmp ,看下可用空间大小 (df)

问题解决

清理磁盘,删掉没用的文件(p.s. check your .log dir)

停掉mysql服务
service mysql stop


进入mysql 临时文件存放目录,重命名 *.myi ->*.myi.old

启动mysql服务,
service mysql start


重启电脑(卡在这一步一个半小时,网上教程没有这一步,各种debug不得接,没想到重启OK :-) !!)

释疑:关于此问题的根本原因,并未细究,网上众说纷纭,有一说是表损坏,因为当执行查询时如果返回结果过大,超过所设mem 阈值,会在磁盘创建临时表缓存,而若此时磁盘空间不足可能会导致此错误。

纠错: 网上很多关于此问题的解均涉及:
repair table ***
,注意此步骤在现在较常用的innoDB引擎并不支持,所以如果是innoDB这个命令根本不用试了。

甜点

查看mysql安装目录:
$ whereis mysql


查看mysql 临时文件目录:
mysql> show variables like '%tmp%';


参考

Incorrect key file with MySQL

How do you fix a MySQL “Incorrect key file” error

Incorrect key file for table ‘/tmp/#sql_3c51_0.MYI

MySQL临时目录浅谈
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: