mysql数据库错误 General error: Error writing file ‘/tmp/…’ (Errcode: 28)

在php mysql 查询大数据时,遇到了一个错误 Fatal error: Uncaught exception ‘PDOException’ with message ‘SQLSTATE[HY000]: General error: 3 Error writing file ‘/tmp/……’ (Errcode: 28)’ in …… 。

通过搜索发现这个问题是mysql查询创建临时文件时,临时目录的空间不足导致的。

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

解决方法:配置临时文件大小

参考

http://blog.sina.com.cn/s/blog_69bd80940100n8dc.html