我创建了一个Django视图,它在从
MySql DB读取后返回一些数据.当我尝试从数据库中获取大约6000行时,一切正常并且视图返回HttpResponse正如预期的那样.但是当我尝试获取7000行时我得到以下错误
(1, "Can't create/write to file '/home/nipun/mysql_temp/MYzplJok' (Errcode: 13)")
之前我认为错误可能是因为/ temp的空间耗尽,所以我更改了my.cnf中的tempdir设置
我还通过更改所有权来确保新的tmpdir / home / nipun / mysql_temp及其父目录是可写的.
虽然这不是Django问题,但这里是视图
def query_json(request):
from django.utils import simplejson
objects=Publisher.objects.filter(location='ROOM_01',sensor_name='CPU_TEMPERATURE').order_by('-id')[0:9000]
json = simplejson.dumps( [{"reading": float(o.reading),
"timestamp": str(o.timestamp)
} for o in objects] )
return HttpResponse(json,mimetype="application/json")
所以在过滤器中更换9000到6000的工作正常.
Django堆栈跟踪中提供了有关错误的更多信息
errorclass
errorvalue
InternalError(1, "Can't create/write to file '/home/nipun/mysql_temp/MYuotga9' (Errcode: 13)")
error
(,
InternalError(1, "Can't create/write to file '/home/nipun/mysql_temp/MYuotga9' (Errcode: 13)"))
编辑
根据评论,我在MySQL提示符下尝试了这个
mysql> CREATE TEMPORARY TABLE t (i int);
ERROR 1005 (HY000): Can't create table 't' (errno: 13)
所以它现在基本上是如何允许MySQL写入临时目录的问题