mysql查询数据时报错:
Incorrect key file for table ‘/tmp/#sql…'; try to repair it’ in …
原因:
当mysql的临时文件大小设置太小,或者由于并发量太大导致临时文件存放的目录空间大小不够时都会报这个错误
一般的tmp目录的权限比较特别是drwxrwxrwt 就是 777
表示任何人都可以在此目录拥有写权限但是不能删除别人拥有的文件。
解决方法:
1) 查看站当前磁盘空间使用情况,建议将临时表存放目录设置在/var下。
2) my.cnf中[mysqld]下增加:tmpdir=/var/tmp
3) 重启mysql服务
4) 查看mysql错误日志情况,看是否报错。
5) 进入mysql查看当前的tmpdir情况,确认是否修改完成
show variables like ‘tmpdir';