今天在执行一个sql语句的时候遇到了一个错误 java.sql.SQLException: Error writing file '/tmp/MYkn6JQ8' (Errcode: 28)。搜了一下,这个问题应该是因为错误提示中提示的临时目录的空间不足导致的。

这个错误如果想看到它的现象,就必须在sql运行时来监视这个临时文件夹的大小,就可以看到mysql在/tmp下创建了一个临时文件,这个临时文件的大小取决于sql语句以及表的大小。

我表中现有大概29万行数据,大概有30列,使用insert into m (...) select ...from mp where contentLen < 3145729 group by concat(...)时,mysql会在临时目录下创建了一个大概将近6G的临时文件,我磁盘只剩了5G,所以导致了mysql报写文件错误。



转自:http://blog.sina.com.cn/s/blog_6bb63c9e0100qvw9.html

Logo

更多推荐