mysql出现Error writing file \'xxx\'( Errcode:28)的原因有很多种,下面我来总结一些常用的关于引起Errcode:28错误原因与解决方法.
问题一,是log日志太大也会导致mysql提示Error writing file 'xxx'( Errcode:28)错误了,解决办法很简单.
1、清理磁盘,释放空间;
2、SQL语句查询的原表数据过大,优化SQL查询语句;
3、权限问题,造成读写错误,查看文件夹读写权限;
问题二:perror 28 Error code 28: No space left on device
SQL语句执行错误:SELECT title,gid FROM blog_blog WHERE date < 1246200383 and hide = 'n' and type='blog' ORDER BY date DESC LIMIT 1
Error writing file 'C:WINDOWSTEMPMY9B6F.tmp' (Errcode: 28)
解决方法:
1.释放C:WINDOWSTEMP空间
2.因为原表太大,所以查询时生成的临时表过大,因此出错.
解决办法:重启了mysql,然后加上where分三段查询,避免全表扫描.
问题三:Error writing file '/tmp/MYiS0UPV'(Errcode: 28),可能是在mysql的临时目录中没有更多的空间.
可以用df -lh来查看磁盘的使用情况,试着改一下my.ini的tmp_dir的路径,重启mysql,问题应该可以解决.