今天在执行一个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报写文件错误。