mysql的“Incorrect key file for table '/tmp/#sql_119 |
| 发布时间: 2012/9/7 16:40:19 |
|
线上数据库出现以下错误: 通过查看源码,在mi_write函数的223行报错。- mi_write.c:44 而这里是一段err处理逻辑,跳转到err的函数是mi_write.c:142行的write_record函数。而该函数的实现是_mi_write_static_record 函数。 到这里实际还没有结束,还没有完全显示出具体操作的逻辑。继续调试代码,该函数调用了mi_nommap_pwrite函数。 而这个函数调用mysql_file_pwrite函数。这里就比较清楚了,实际操作就是写文件了。确定的是写文件失败了。而之所以写文件的位置是/tmp,通过查看发现,该表有复杂的sql查询,用到了临时表。并且临时表的大小甚至达到了1G,导致了/tmp下的空间不足,从而导致错误。 本文出自:亿恩科技【www.enkj.com】 |
京公网安备41019702002023号