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

mysql Got error 28 from storage engine

2015-09-18 16:38 579 查看
情景再现:

今天在执行修改表的命令,alter table doctor_info时,出现如下图错误



解决过程:

百度后发现原因是,mysql的临时目录空间不足。

1、首先,查询mysql的临时目录:

show variables like '%tmp%';




发现tmpdir的目录是 根目录下的/tmp

2、查看临时目录下的各个文件大小和总大小

首先查看/tmp目录下各个文件所占用大小,
ls -alth /tmp




/tmp目录下所有文件总的大小,
du -sh /tmp




我们发现/tmp下的文件占用都非常小,所以我继续查看/tmp所在磁盘的使用情况,



3、误解

当时发现used是50G,Use%是100%,所以证实了是,临时目录没有空间可用了,后来查到是因为tomcat的日志文件过多导致了磁盘满了。

我最初以为,/tmp的大小是50G,跟tomcat的日志文件/logs没有关系呀。原来我搞错了,这个50G是整个磁盘的大小,所有的文件夹共用这50G,到这里就真相大白了。

因为tomcat日志文件,占用了整个磁盘,导致临时目录没有空间,然后就出现了get error 28 from storage engine.

总结:

1、linux不可以指定某个文件夹的大小,df -h的命令显示的size是整个磁盘的大小

2、df命令,可以显示某个文件所在磁盘的使用情况

3、du -sh /tmp,查看某个文件夹下所有文件总的大小

4、ls -alth可以显示某个文件夹下占用磁盘情况
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: